我有两个模型,程序和事件,一个程序有很多事件。我需要找到具有特定日期的事件的程序。
@programmes = Programme.joins(:events).where(:events => {:date => params[:date]}).uniq
这可以正常工作。但是在使用时
programme.events
当然它会获取与程序相关的所有事件,如何才能获得与原始语句中的条件匹配的事件
答案 0 :(得分:1)
最简单的方法是在程序
上创建方法class Programme < ActiveRecord::Base
def events_for_date(date)
events.where(:date => date).uniq
end
end
然后你会这样称呼:
@programme.events_for_date(params[:date])
您还可以向Event类添加范围,但这可能更容易理解。