awesome_nested_fields宝石嵌套表单未显示

时间:2013-11-30 05:59:50

标签: ruby-on-rails ruby gem

我一直遇到嵌套表单的问题 - 所以我尝试使用以下gem:https://github.com/lailsonbm/awesome_nested_fields。不幸的是,嵌套的形式(态度)没有出现在任务表单中 - 我试图完全遵循说明 - 我希望它是愚蠢的东西。加载表单时,我没有收到任何错误。

任务模型

class Task < ActiveRecord::Base
has_many :attitudes
accepts_nested_attributes_for :attitudes, allow_destroy: true
attr_accessible :attitudes_attributes
end

态度模型

class Attitude < ActiveRecord::Base
belongs_to :task
accepts_nested_attributes_for :task
attr_accessible :tasks_attributes

任务表单

<%= form_for @task do |f| %>
<%= f.error_messages %>
<div class="items">
<%= f.nested_fields_for :attitudes do |f| %>
<fieldset class="item">
<%= f.label :name %>
<%= f.text_field :name %>
<a href="#" class="remove">remove</a>
<%= f.hidden_field :id %>
<%= f.hidden_field :_destroy %>
</fieldset>
<% end %>
</div>
<a href="#" class="add">Add Attitudes</a>
<% end %>

当我查看html源代码时,我看到了

<script class="template item attitude" type="text/html">
&lt;fieldset class="item"&gt;
&lt;label for="task_attitudes_attributes_new_nested_item_name"&gt;Name&lt;/label&gt;
&lt;input id="task_attitudes_attributes_new_nested_item_name" name="task[attitudes_attributes][new_nested_item][name]" size="30" type="text" /&gt;
&lt;a href="#" class="remove"&gt;remove&lt;/a&gt;
&lt;input id="task_attitudes_attributes_new_nested_item_id" name="task[attitudes_attributes][new_nested_item][id]" type="hidden" /&gt;
&lt;input id="task_attitudes_attributes_new_nested_item__destroy" name="task[attitudes_attributes][new_nested_item][_destroy]" type="hidden" value="false" /&gt;
&lt;/fieldset&gt;
</script>

任务表单标题

<script src="/javascripts/jquery.js?1385786590" type="text/javascript"></script>
<script src="/javascripts/jquery_ujs.js?1385786591" type="text/javascript"></script>
<script src="/javascripts/jquery.nested-fields.js?1385787505" type="text/javascript"></script>
<script src="/javascripts/application.js?1385790193" type="text/javascript"></script>
<script src="/javascripts/bootstrap.js?1385522548" type="text/javascript"></script>

的application.js

$(document).ready(function(e) {
$('FORM').nestedFields();
});

1 个答案:

答案 0 :(得分:1)

对于任何想要了解的人 - 我终于意识到 - 我的问题是这个---

<%= f.hidden_field :id %>

当我删除它时 - 所有功能都正常并处理了信息。