2015-05-29 62 views
4

目前在我的路线,我有:如何删除routes.rb中产生的前缀PARAMS路径

# USER RESOURCES 
    resources :users do 
    resources :repositories 
    patch 'change_password' 
    get 'account_setting' 
    end 

这对于account_setting行为来生成路径:

user_account_setting GET /users/:user_id/account_setting(.:format)  users#account_setting 

什么我想要的是:

user_account_setting GET /users/:id/account_setting(.:format)  users#account_setting 

两者本质上是一样的东西,但第一个有user_用于id的前缀,因为它在用户资源块中而被添加。

边注

我知道我可以简单地删除用户的资源块的account_setting行动,并写上:

get 'users/:id/account_setting', to: 'users#account_setting' 

但我不想。

回答

-1

在Rails 4您可以更改 简单地使用

resources :users, param: :id do 
    resources :repositories 
    patch 'change_password' 
    get 'account_setting' 
    end 

ID则params的名字,这将产生

/用户/:ID/account_setting

+0

我正在使用rails 4,但这不起作用。 –