关于急切加载的快速提问。我有以下代码:
@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])
答案 0 :(得分:0)
假设您已设置所有关联要求,则可以使用joins
:
@user = User.all(:conditions =>["restaurants.list_id = ?", params[:list_id] ], :joins => [:restaurants])
<强>更新强>
我的代码提取用户列表。但是,您可以使用过滤方法缩小列表范围或获取单个记录。