我想有这样的路线
get "users/sms_confirmation/:sms_confirmation_code" => "users#sms_confirmation"
绑定:sms_confirmation_code
param,如下例所示:
对users/sms_confirmation/ABC123
的请求会导致params
哈希包含
{:user => {:sms_confirmation_code => "ABC123"}} # This is what I want
目前路线给了我:
{:sms_confirmation_code => "ABC123"} # This is what I've got.
到目前为止,我无法通过Rails 3路由找到一种方法。有没有办法实现这个目标?
解决这个问题很容易,但如果不必要,我不想这样做。
更新:sms_confirmation_code
是users表中的字段。我的目标是使用漂亮的URL,例如上面示例中的URL,而不是附加到URL的查询字符串。我还想避免控制器中的额外代码来构造如上所述的散列。
答案 0 :(得分:0)
sms_confirmation嵌套在用户右边?
不应该是users/123/sms_confirmation/ABC123
吗?
resources :users do
resources :sms_confirmation do
get "users/:user_id/sms_confirmation/:sms_confirmation_code" => "users#sms_confirmation"
end
end
如果您没有用户控制器,则可以使用名称空间,例如
namespace "users" do
resources :sms_confirmation do
get "sms_confirmation" => "users#sms_confirmation"
end
end
告诉我它是否有效!