覆盖编辑功能Devise,rails

时间:2019-01-16 02:16:43

标签: ruby-on-rails devise override edit

我试图覆盖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

0 个答案:

没有答案