ruby-on-rails – Rails关联中的未知密钥
发布时间:2020-12-16 19:14:09 所属栏目:百科 来源:网络整理
导读:我有以下协会代码: has_many :rates_without_dimension,:as = :rateable,:class_name = "Rate",:dependent = :destroy,:conditions = {:dimension = nil}has_many :raters_without_dimension,:through = :rates_without_dimension,:source = :rater has_one
我有以下协会代码:
has_many :rates_without_dimension,:as => :rateable,:class_name => "Rate",:dependent => :destroy,:conditions => {:dimension => nil} has_many :raters_without_dimension,:through => :rates_without_dimension,:source => :rater has_one :rate_average_without_dimension,:as => :cacheable,:class_name => "RatingCache",:conditions => {:dimension => nil} dimensions.each do |dimension| has_many "#{dimension}_rates",:conditions => {:dimension => dimension.to_s},:as => :rateable has_many "#{dimension}_raters",:through => "#{dimension}_rates",:source => :rater has_one "#{dimension}_average",:conditions => {:dimension => dimension.to_s} end 它引发了一个错误: Unknown key: :conditions. Valid keys are: :class_name,:class,:foreign_key,:validate,:autosave,:table_name,:before_add,:after_add,:before_remove,:after_remove,:extend,:primary_key,:dependent,:as,:through,:source,:source_type,:inverse_of,:counter_cache 我试图将第一行改为: has_many :rates_without_dimension,-> { where(:dimension => nil) } 但它也引发了一个错误,你能指出我有什么问题吗? 解决方法
这里描述的问题相同
https://teamtreehouse.com/forum/unknown-key-conditions
正如我在示例中看到的,带有条件的lambda应该在关联名称之后执行,因为没有{}的hash只能作为最后一个参数. 尝试 has_many :rates_without_dimension,-> { where(dimension: nil) },as: :rateable,class_name: "Rate",dependent: :destroy 附:你可以使用http://apidock.com/rails/Object/with_options使它看起来更好 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |