我试图覆盖devise默认的编辑方法。通常,默认情况下,它只能编辑current_user。但是我想编辑任何用户。这就是为什么我这样编码: 在控制器中:
def edit
@user = User.find(params[:id])
end
它在显示中被调用,在这里我这样调用该函数: SHOW.HTML.ERB:
<%= link_to user_profiles_edit_path(@user.id) do%>
<button class="btn btn-info">Edit Profile</button>
<% end %>
在编辑中,我有一个表格,其格式如下: EDIT.HTML.ERB:
<%= form_for(@user) do |f| %>
<table class="table table-striped">
<tr>
<th>First Name</th>
<td><%= f.text_field(:first_name, :class=>"full-width-input") %></td>
</tr>
<tr>
<th>Last Name</th>
<td><%= f.text_field(:last_name, :class=>"full-width-input") %></td>
</tr>
...
...
...
然后我在routes.rb中添加了这一行: ROUTES.RB
get "/users/:id/edit/" => "users/registrations#edit",:as =>"user_profiles_edit"
但是,在完成所有这些操作之后,我得到了这个错误:
undefined method `user_path' for #<#<Class:0x007f3da064c050>:0x007f3da065adf8>
Did you mean? users_path