草庐IT

typeorm-activerecord

全部标签

ruby-on-rails - ActiveRecord::SubclassNotFound

我正在尝试将我的redmine从1.3.0升级到2.0.0,但我遇到了数据库迁移问题。当我运行命令时:rakedb:migrateRAILS_ENV=production它显示了类似这样的错误rakeaborted!uninitializedconstantRAILS_ENV我的错误日志是:ActiveRecord::SubclassNotFound(Thesingle-tableinheritancemechanismfailedtolocatethesubclass:'GoogleAppsAuthSource'.Thiserrorisraisedbecausethecolumn't

ruby - 使用 ActiveRecord 在查询对象中转义参数?

给定一个查询对象(不是AR模型)classComplexQueryQUERY=如何方便地转义所有参数?我成功地使用了三种技术,但没有一种是方便的。使用raw_connection(对我而言)返回PG::Conn的实例并调用exec_params。我对此并不满意,因为exec_params需要一组详细的参数来指定数据类型。在我的查询对象中包含ActiveRecord::Sanitization并使用其中一种方便的方法,例如replace_named_bind_variables。我对此不满意,因为replace_named_bind_variables是protected并且我必须使用s

ruby-on-rails - Rails 5 的 ActiveRecord::Migration 中的 [5.0] 是什么意思?

我在Rails5应用程序中创建的迁移将5.0传递到一个方法中:classCreateVariableKeys我想知道[5.0]是什么意思。 最佳答案 它是ActiveRecord::Migration的类方法,定义为here.它允许我们在4.2和5.0之间选择我们希望使用的迁移版本。该方法抛出一个:"Unknownmigrationversion..."如果将不兼容的版本作为参数传递,则会出错。ActiveRecord的生产就绪版本没有该方法,因此它应该在Rails5结束测试版后立即消失。

ruby-on-rails - 为 Rails 3.1.1 关闭详细的 sql/ActiveRecord

尽管SQL/ActiveRecord调用的冗长功能在大多数情况下都很有用,但在我有一些循环正在进行的情况下,我想将其关闭。有没有办法关闭它?irb(main):055:0>City.first←[1m←[35mCityLoad(1.0ms)←[0mSELECT`cities`.*FROM`cities`LIMIT1=># 最佳答案 在控制台中:禁用:old_logger=ActiveRecord::Base.loggerActiveRecord::Base.logger=nil启用:ActiveRecord::Base.logger

ruby-on-rails - 如何在 ruby​​ ActiveRecord 中销毁没有 ID 列的记录?

我有一个没有ID列的表。当我尝试使用ActiveRecord从中删除时,生成的SQL是DELETEFROMtable_nameWHEREID=NULL,这显然不起作用。有什么方法可以使用ActiveRecord从表中删除,或者至少运行带有占位符的原始SQL删除查询(因此它不易受到SQL注入(inject)的攻击)? 最佳答案 您是否尝试过使用ActiveRecord的delete_all方法?这是我的沙箱中的摘录:>>customer=Customer.new(:login=>'foo')=>#,discount:0,last_fo

ruby-on-rails - 如何使用 ActiveRecord 映射多个属性?

如果我在控制台中输入u=User.firstu.friends(&map:username)我得到了["Peter","Mary","Jane"]但我还想显示生日,那么我该怎么做呢?我试过了u.friends(&map:username,&map:birthday)但这行不通。 最佳答案 您可以使用备用block语法:u.friends.map{|f|[f.username,f.birthday]}这将给出一个数组。u.friends.map{|f|"#{f.username}-#{f.birthday}"}会给你一个字符串数组。您

ruby-on-rails - Rails ActiveRecord:PG::错误:错误:列引用 "created_at"不明确

我正在努力解决对象中的错误,但完全不确定问题出在哪里。这是模型的样子:classCar:car_colorsendclassCarColor:car_colorsend这里是查询:@cars=Car.all(:joins=>:car_colors,:conditions=>{:car_colors=>{:color_id=>params[:id_number]}},:order=>"cars.created_atDESC")错误输出:PG::Error:ERROR:columnreference"created_at"isambiguousLINE1:...d"WHERE"car_co

ruby-on-rails - 删除或覆盖由父类(super class)或混合添加的 ActiveRecord 验证

我在我的Rails应用程序中使用Clearance进行身份验证。Clearance::Usermixin向我的User模型添加了一些验证,但其中有一个我想删除或覆盖。这样做的最佳方法是什么?有问题的验证是validates_uniqueness_of:email,:case_sensitive=>false这本身还不错,但我需要添加:scope=>:account_id。问题是,如果我将其添加到我的User模型validates_uniqueness_of:email,:scope=>:account_id我得到了两种验证,而且Clearance添加的验证比我的更严格,所以我的没有效果

ruby - Rails 4.1 ActiveRecord::relation 不再像数组

在Rails4.0.4中,这段代码有效:mailboxes=Mailbox.order(:mailbox)mailboxes.keep_ifdo|mailbox|#testend在Rails4.1.0中它打破了NoMethodError(undefinedmethodkeep_iffor)并且必须更改为mailboxes=Mailbox.order(:mailbox).to_amailboxes.keep_ifdo|mailbox|#testend没有找到相关信息有什么想法吗? 最佳答案 它在releasenotes中对于rails

ruby-on-rails - 如何使用 Rails ActiveRecord 执行 LEFT OUTER JOIN?

我没有任何想法。你能给我任何线索吗(比如引用网站)。任何帮助将不胜感激。Model1:GROUP(id,name)Model2:USER_GROUP_CMB(id,user_id,group_id)预期的SQL语句:SELECT*FROMgroupsASgLEFTOUTERJOINuser_group_cmbsAScmbONg.id=cmb.group_idWHEREcmb.user_id=1我尝试在下面建立关联,但我不知道之后该做什么。classGroupRails版本:3.1.1 最佳答案 我相信如果您在includes关联使用