我们说我有
resources :users, only: %i[new create edit update]
我想将典型/users/new
更改为/signup
。
像下面的代码是丑陋的。
resources :users, only: %i[create edit update]
get '/signup', to: 'users#new'
有更好(更清洁)的方法吗?
编辑:似乎它是最好的方式。猜猜分组是保持其可读性的唯一方法。答案 0 :(得分:0)
据我所知,你能做的最好是
resources :users, only: [:new], path_names: { new: "sign_up" }, path: '/'
resources :users, only: [:create, :edit, :update]
至少可以更容易地告诉'sign_up'是用户资源的一部分。如果您对/users/sign_up
没问题,可以在一行中完成,但想要摆脱/users
部分会使这更加棘手。
答案 1 :(得分:0)
如果你想让他们保持井井有条,不介意路线是" / users / signup"那就行了。
resources :users, only: %i[create edit update] do
get 'signup', to: :new, on: :collection, as: :signup
end
然后rake routes
signup_users GET /users/signup(.:format) users#new
users POST /users(.:format) users#create
edit_users GET /users/:id/edit(.:format) users#edit
users PATCH /users/:id(.:format) users#update
PUT /users/:id(.:format) users#update