如何更改在资源丰富的路由中传递:id字段的键?

时间:2011-06-24 12:53:47

标签: ruby-on-rails routing

在资源充足的路线中,例如

resource :users

user_id将通过:id参数

传递给控制器
@user_id = params[:id`]

但是,当您在原始内容中嵌套另一个资源时:

resource :users do
  resource :questions
end

然后通过:user_id参数

传递用户ID
@user_id = params[:user_id]
@question_id = params[:id]

有没有办法强制命名:id键,使其一致?

1 个答案:

答案 0 :(得分:0)

使名称保持一致的一种方法是将@user中的属性重命名为user_id而不是id,并将其用作主键。您可以通过回滚数据库并修改用户类的迁移并更改其中的属性来完成此操作。

另一种使它们保持一致的方法是在用户类中使用返回current_user的方法。然后,您始终可以通过此语法调用用户。