我有以下工作has_many与proc来捕获上下文参数:
has_many :subclass_point_analytics, :conditions => proc {"assessment_id = #{self.send(:assessment_id)}" }, :foreign_key => 'gid', :dependent => :destroy
我正在使用Rails 4,并且(理所当然地)提示:conditions的使用。经过30分钟的尝试,我无法弄清楚如何将:conditions转换为-> {where ...}格式。我将不胜感激具有proc语法知识的人,以帮助我纠正错误。
最佳答案
只需执行以下操作:
has_many :subclass_point_analytics, -> (object) { where("assessment_id = ?", object.assessment_id) }, :foreign_key => 'gid', :dependent => :destroy
对象是您的实际实例。
另外,要注意:可调用对象必须是第一件事(:条件往往在末尾)
关于ruby-on-rails-4 - 将Rails 4 has_many从proc条件转换为where,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19279289/