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