Rails 使用 gem 'best_in_place' 进行内联编辑时出错

Rails error in inline edit using gem 'best_in_place'

我正在尝试在 table 编辑中使用 gem 'best_in_place',但在使用时出现错误 在控制器中仅使用索引方法显示来自数据库的所有用户详细信息。

错误:undefined method “Rohit”的名称:String`

使用的代码:

      <% @user_record.each do |record| %>
        <tr>
          <td><%= best_in_place record.name, :name %></td>
        </tr>
      <% end %>

控制器代码:

    def index
      @user_record = MUser.search(params[:name],params[:gender])
    end
    
    def create
    end

正如我从 docs 中看到的那样,您传递给方法 best_in_place 的第一个参数应该是一个对象 record,第二个参数 - 您需要使用此 gem,在你的例子中是 name。 因此它将从 record 获得提供的字段 name。 并且由于您自己调用了 name,它 returns 名称的实际值而不是整个对象 record 然后尝试从导致此错误的值中获取名称.

因此您需要将该行更改为 <td><%= best_in_place record, :name %></td>