0
我喜歡我的控制器使用請求URL包含的所有id,而不使控制器路由特定。如何查詢嵌套路由中的活動記錄模型,乾式
我的路線:
...
resources :users do
resources :properties
end
...
我的控制器是標準的支架控制器。讓我們看一下指數法:
def index
properties = Properties.all
respond_to do |format|
format.json { render json: properties }
end
end
def show
@property = Property.find(params[:id])
respond_to do |format|
format.json { render json: property }
end
end
問題與路由像/用戶/ 10 /屬性是,它的10不皮卡user_ID的,而不是用它來創建查詢。它查詢所有屬性而不是子集。
我也修改網址瑣碎以查看其他用戶屬性,只需玩「id」,不需要找到匹配「user_id」+「id」,因爲「user_id」被忽略。
當然,我可以在代碼中明確表示,但這會使它具有特定的路由。我喜歡在非嵌套路由的上下文中使用控制器。
是否有標準配方來處理?像查看所有以「_id」結尾的參數?
inherited_resources看起來很棒,它確實有很多,它有什麼缺點嗎? – 2013-05-07 00:44:37
不是我遇到過的,你必須考慮你的控制器有點不同,但這是件好事 – cpuguy83 2013-05-07 01:17:57
如果你喜歡,也可以查看https://github.com/plataformatec/has_scope – cpuguy83 2013-05-07 01:19:27