在资源充足的路线中,例如
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键,使其一致?
答案 0 :(得分:0)
使名称保持一致的一种方法是将@user中的属性重命名为user_id而不是id,并将其用作主键。您可以通过回滚数据库并修改用户类的迁移并更改其中的属性来完成此操作。
另一种使它们保持一致的方法是在用户类中使用返回current_user的方法。然后,您始终可以通过此语法调用用户。