繁体   English   中英

在Ruby on Rails 4.2中使用Cocoon gem的嵌套表单

[英]Nested forms using the Cocoon gem in Ruby on Rails 4.2

我正在使用Rails 4.2构建Web应用程序,并且有一个名为Strategy的模型,该模型与Tactic模型具有has_many关系。

要为策略创建视图,我需要在表单上有许多嵌套的战术。 我一直在使用Cocoon gem开发这种视图。

到目前为止,我已经能够使表单在大多数情况下正常工作,但问题是我想在Tactic模型中添加Type属性。

对于给定的策略,我想拥有一种给定类型的3种策略,以及另一种给定2种模型。

问题在于渲染我的视图时,所有五个模型都按顺序列出,而没有空间放置我自己的HTML代码。

是否有一种简单的方法可以区分出其中的哪些内容? 现在,我的看法如下...

<%= form_for @strategy do |f| %>
    <div class="strategy">
        <%= f.label :name %>
        <%= f.text_field :name %>
    </div>

    <div class="tactics">
        <%= f.fields_for :tactics do |i| %>
            <%= render 'tactics_fields', f: i %>
        <% end %>
    </div>

    <div class="buttons">
        <%= f.button "Save Strategy", class: 'button' %>
    </div>
<% end %>

如果有人可以提供任何建议,将不胜感激。

您是否希望呈现该表单,以便每个策略正好在其下面列出了5种策略,其中3种是一种类型,而2种是另一种类型?

如果是这样,您可以在控制器中执行以下操作:

5.times do
  tactic = @strategy.tactics.build
  tactic.tactic_type = 'tactic_type'
end

另外,请注意,使用名为type的属性不是一个好主意。 使用类似tactic_type东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM