渴望加载 - 仅加载特定记录

时间:2012-05-11 23:28:03

标签: ruby-on-rails-3

关于急切加载的快速提问。我有以下代码:

  

@user =   User.includes(:餐馆).find_by_unique_identifier(PARAMS [:unique_identifier])

但是,我只想加载与给定用户关联的餐馆,前提是餐馆的list_id为X(这是餐馆餐桌的一列)。

我该怎么做?

我尝试了以下操作,但它仍然加载了与用户关联的所有餐馆记录。

@user = User.includes(:restaurants).where(:restaurants => {:list_id => params[:list_id]}).find_by_unique_identifier(params[:unique_identifier])

1 个答案:

答案 0 :(得分:0)

假设您已设置所有关联要求,则可以使用joins

@user = User.all(:conditions =>["restaurants.list_id = ?", params[:list_id] ], :joins => [:restaurants])

<强>更新
我的代码提取用户列表。但是,您可以使用过滤方法缩小列表范围或获取单个记录。