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>
。
我正在尝试在 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>
。