我有兩種模式:商店和用戶。用戶belong_to
商店和商店has_many
用戶。用戶和商店分開創建,然後用戶添加一個商店,將其shop_id
更改爲@shop.id
。通過Rails協會查詢
我需要@shop.users
來查詢所有belong_to
店鋪的用戶。我不知道如何做到這一點雖然。目前,唯一的連接是關聯,當用戶拿起這個按鈕店@user.shop_id
被更新到正確的店:
查看:
<%= link_to 'Add As Your Shop', update_shop_url(id: @user.id, shop_id: @shop.id), class: 'button blue-button', data: { method: 'post' } %>
控制器:
def update_shop
@user = User.find(params[:id])
@shop = Shop.find(params[:shop_id])
@user.update_attributes(shop_id: @shop.id)
flash[:success] = "Added Shop!"
redirect_to @shop
end
這裏ShopsController#Customers中的查詢
def customers
@shop = Shop.find(params[:id])
@customers = Shop.users
end
This查詢爲我提供了錯誤undefined method 'users' for nil:NilClass
,因此用戶無法找到商店。
如何在用戶選擇商店時創建正確的關聯,而不僅僅是更新shop_id參數?
什麼你問的是不是真的清楚。你能告訴我們目前的方法有什麼問題,什麼是不行的,你想要做什麼......你有沒有遇到任何錯誤? – jazzytomato
編輯包括錯誤 –
那麼,錯誤是非常明確的......你確定'params [:id]'被分配和匹配現有的商店...? – jazzytomato