我正在尝试使用一个表单编辑多个记录,因此用户可以编辑一些记录,然后在最后按提交而不是在每个记录之后。我发布了当前的代码,我收到了这个错误:
undefined method `connection_connection_path'
控制器
def show
@customer = Customer.find(params[:id])
@connection = @customer.connections
respond_to do |format|
format.html # show.html.erb
format.json { render json: @customer }
end
end
查看
<table class="table">
<thead>
<th>Interface</th>
<th>Device</th>
<th>Speed</th>
<th>Site</th>
<th>Capable</th>
<th>Notes</th>
</thead>
<%= form_for(@connection) do |f| %>
<% @connection.each do |l| %>
<tr>
<td><%= l.interface %></td>
<td><%= l.device %></td>
<td><%= l.speed %></td>
<td><%= l.site.name%> </td>
<td><%= f.check_box :check %></td>
<td><%= f.text_field :notes %></td>
</tr>
<% end %>
<tr><%= f.submit %></tr>
</table>
<% end %>
路由
resources :connections
resources :sites
resources :customer_sites
resources :customers
root :to => "customers#index"
答案 0 :(得分:0)
那么你的提交按钮在哪里?它不应该在show中完成,也许您可以在控制器中创建一个新方法并执行多重编辑功能。
基本概念是当你有检查时,你需要将对象的数组传递给你的方法,然后逐个更新它们。或者你也可以用JS做到这一点。
参考这个railscast http://railscasts.com/episodes/165-edit-multiple
和这个stackoverflow Rails 3 Edit Multiple Records in a Single Form
这些资源可以通过谷歌轻松获得:D 如果还有问题,那就来这里再问一次