1

我的 Rails 应用程序中有以下路线:

resources :settings, :path => :account, :only => [:edit, :update]

这将创建以下内容:

edit_setting GET    /account/:id/edit(.:format) settings#edit
setting PUT    /account/:id(.:format) settings#update

我如何写它所以:id省略?

所以用户可以访问/account/edit

4

2 回答 2

3

这可能是最直接的方法,并让您接近 Rails 约定:

match 'account/edit'  => 'accounts#edit',   :as => 'edit_account',  :via => :get
match 'accounts'      => 'accounts#update', :as => 'accounts',      :via => :put
于 2012-05-21T18:28:30.460 回答
2

有关详细信息,请参阅http://guides.rubyonrails.org/routing.html#singular-resources,但我很确定resource :settings, :path => :account, :only => [:edit, :update]会起作用。

于 2012-12-01T11:04:29.317 回答