在轨道上提交返回一条奇怪的路径

时间:2012-03-16 07:38:01

标签: ruby-on-rails ruby forms submit

因为我5天前开始在Rails中编程。通过查看我的测试中的行为,我正在学习框架的很多方面,答案是完美的,但这次我有了这个,我不知道如何处理它: 我得到的信息就是这个......

  

#<#:0x36df6c8>

的未定义方法`task_task_task_task_task_path'

这是我的观点:

<%= form_for @tasks do |t| %>
<div id="task_list">
<% @tasks.each do |task| %>
  <li id="task">
  <% if task.done == false %> 
    <%= t.check_box :done, :checked => task.done, :checked_value => true, :unchecked_value => false %>  <%= task.name %>
  <% else %>
    <%= t.check_box :done, :checked => task.done, :checked_value => true, :unchecked_value => false, :disabled => "disabled" %>  <%= task.name + "(done)" %>
  <% end %> 

  </li>
<% end %>
<%= t.submit "Mark selected as done", :action => "update" %>
</div>
<% end %>

我已经多次查看表单并提交文档,但我无法理解。此表单适用于许多实例,并使用新的布尔值更新每个实例。

谢谢。

1 个答案:

答案 0 :(得分:1)

你不能神奇地向服务器提交一组数据,Rails表单助手是针对单个对象而不是针对集合。

但是,有一些方法可以将一组值提交回服务器,例如,您可以将[]附加到复选框名称属性,这将强制rails在服务器端创建一个值数组。

有关详细讨论,请参阅this documentation point 7.1