0

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

@user = User.includes(:restaurants).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])
4

1 回答 1

0

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

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

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

于 2012-05-11T23:38:32.170 回答