Ruby on Rails 3父级和子级只查找父级的特定子级

时间:2012-06-19 14:07:05

标签: ruby-on-rails parent-child

我有两个模型,程序和事件,一个程序有很多事件。我需要找到具有特定日期的事件的程序。

      @programmes = Programme.joins(:events).where(:events => {:date => params[:date]}).uniq

这可以正常工作。但是在使用时

programme.events

当然它会获取与程序相关的所有事件,如何才能获得与原始语句中的条件匹配的事件

1 个答案:

答案 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类添加范围,但这可能更容易理解。