我正在使用Rais3和in_place_editing plugin。
这是控制器的代码:
in_place_edit_for :name, :title
这是index.html.erb:
<% @contracts.each do |contract| %>
<tr>
<td><%= contract.name %></td>
<td><%= contract.title %></td>
<td><%= contract.content %></td>
<td><%= link_to 'Show', contract %></td>
<td><%= link_to 'Edit', edit_contract_path(contract) %></td>
<td><%= link_to 'Destroy', contract, :confirm => 'Are you sure?', :method => :delete %></td>
<td><%= in_place_editor_field contract, 'name' %></td>
</tr>
<% end %>
我刚刚在视图中添加了一行:
<td><%= in_place_editor_field contract, 'name' %></td>
我有nex错误代码:
如果你真的想要的话,被称为nil的id,这将错误地为4 nil的id,使用object_id
这是fill stack。
如何解决此错误?
答案 0 :(得分:1)
实际上,控制器应该说
in_place_edit_for :contract, :title
假设您有合同模型并想要内联编辑标题。然后还需要更改视图以反映内联编辑的标题而不是名称。您想要内联编辑哪个字段(两者都是?)?
沿着插件示例:
# Controller
class ContractsController < ApplicationController
in_place_edit_for :contract, :name
end
# View
<%= in_place_editor_field :contract, 'name' %>
修改强>
将视图更改为具有实例变量
<% @contract = contract %>
<%= in_place_editor_field :contract, 'name' %>