【发布时间】:2016-10-05 22:04:32
【问题描述】:
我需要更新用户信息,我正在使用 form_for。当我导航到http://localhost:3000/users/1/edit 时,我的错误是它找不到 [GET]"/users/1/edit" 的路线。为什么 Rails 使用 GET html 动词?
我的 users_controller、路由和视图:
def edit
@user = User.find(params[:id])
end
--------
resource :users, only: [:new, :create, :edit, :update]
Prefix Verb URI Pattern Controller#Action
users POST /users(.:format) users#create
new_users GET /users/new(.:format) users#new
edit_users GET /users/edit(.:format) users#edit
PATCH /users(.:format) users#update
PUT /users(.:format) users#update
--------
<%= form_for(@user, url: edit_users_path(@user), html: {method: "patch"}) do |f| %>
Username: <%= f.text_field :username %><br>
Email: <%= f.text_field :email %><br>
Password: <%= f.text_field :password %><br>
<%= f.submit %>
<% end %>
【问题讨论】:
标签: ruby-on-rails