Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails中的就地编辑_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails中的就地编辑

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

我正在使用Rais3和

以下是控制器代码:

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”,但未更改任何内容。视图中的语法与示例中略有不同,即模型名称前面没有冒号
(:)
。我尝试过,但没有成功。以下是我觉得不错的所有代码,但有一点: