我在我的群组控制器中有这个方法,它正在寻找在参数中传递的组的id
。
def set_group
@group = Group.find(params[:id])
end
我有这条路线,还有其他几条路线正在寻找group_id
而不是id
。由于没有找到group_id
,它会抛出此错误。
/accounts/:account_id/groups/:group_id/settings
找不到具有' id' =
的群组
如何判断此变量以查找id
和/ group_id
的参数?我在下面列出了此特定实例的所有路线,一半需要id
,另一半需要group_id
。
/accounts/:account_id/groups/:group_id/add_map(.:format)
/accounts/:account_id/groups/:group_id/add_map(.:format)
/accounts/:account_id/groups/:group_id/maps(.:format)
/accounts/:account_id/groups/:group_id/add(.:format)
/accounts/:account_id/groups/:group_id/add(.:format)
/accounts/:account_id/groups/:group_id/remove/:id(.:format)
/accounts/:account_id/groups/:group_id/maps/:map_id/remove(.:format)
/accounts/:account_id/groups/:group_id/settings(.:format)
/accounts/:account_id/groups(.:format)
/accounts/:account_id/groups(.:format)
/accounts/:account_id/groups/new(.:format)
/accounts/:account_id/groups/:id(.:format)
/accounts/:account_id/groups/:id(.:format)
/accounts/:account_id/groups/:id(.:format)
/accounts/:account_id/groups/:id(.:format)
我只需要一个带group_id
的单独变量吗?
答案 0 :(得分:1)
您可以在params
中查找其中一个并使用您找到的第一个,例如:
def set_group
id = params[:group_id] || params[:id]
@group = Group.find(id)
end