Ruby on rails Rails中的就地编辑
我正在使用Rais3和 以下是控制器代码:Ruby on rails Rails中的就地编辑,ruby-on-rails,Ruby On Rails,我正在使用Rais3和 以下是控制器代码: in_place_edit_for :name, :title 下面是index.html.erb: <% @contracts.each do |contract| %> <tr> <td><%= contract.name %></td> <td><%= contract.title %></td> <td>&l
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 %>
“你确定吗?”,:method=>:delete%>
我刚刚在视图中添加了一行:
<td><%= in_place_editor_field contract, 'name' %></td>
我得到了nex错误代码:
为nil调用id,如果您真的想要的话,它将错误地为4
nil的id,使用object\u id
这是一本书
如何修复此错误?实际上,控制器可能会说
in_place_edit_for :contract, :title
假设您有一个合同模型,并且希望内联编辑标题。然后还需要更改视图以反映内联编辑的标题而不是名称。您希望内联编辑哪个字段(两个?)
按照插件示例的思路:
# Controller
class ContractsController < ApplicationController
in_place_edit_for :contract, :name
end
# View
<%= in_place_editor_field :contract, 'name' %>
#控制器
类ContractsController<应用程序控制器
在\u位置\u编辑\u for:contract,:name
结束
#看法
编辑
将视图更改为具有实例变量
<% @contract = contract %>
<%= in_place_editor_field :contract, 'name' %>
但所有其他行都有效。例如:您是否检查了数据库中contracts表中的内容,以防出现一些虚假数据?注释掉in\u place\u editor\u字段
行是否有效?另外,请尝试为@contracts
选择一个较小的集合,看看数组中的一个contract是否有效,以及诸如此类的东西。如果我对这行进行注释,所有这些都可以。合同表仅包含一行。我已将视图更改为“in_place_edit_for:contract,:name”,但未更改任何内容。视图中的语法与示例中略有不同,即模型名称前面没有冒号(:)
。我尝试过,但没有成功。以下是我觉得不错的所有代码,但有一点: