在Rails中使用Cocoon Gem的嵌套循环

时间:2016-10-30 10:18:24

标签: ruby-on-rails nested-forms cocoon-gem

所以我建立一个食谱应用程序,用户可以创建自己的菜。

我面临的问题是在cocoon gem我已经按照他们的文档的每一步但在创建配方时,用户无法看到成分的嵌套表单。填写成分的表格不会显示。主表单工作正常,有图像,名称和描述。它完美地保存了显示。我试图提供我认为可能有问题的所有代码块,并可以帮助您模拟我的应用程序。 感谢您的帮助

文件名下的simple_form代码 - > _form.html.erb

<div id="panel-body">
<%= f.input :image, input_html: {class: "form-control"} %>
<%= f.input :name, input_html: {class: "form-control"} %>
<%= f.input :description, input_html: {class: "form-control"} %>

<div class="row">

  <div class="col-md-6">
    <h3>Ingredients</h3>
    <div id="Ingredients">
      <%= f.simple_fields_for :ingredients do |ingredient| %>
        <%= render "ingredient_fields", f: ingredient %>
      <% end %>
      <div class="links">
        <%= link_to_add_association 'Add', f, :ingredients, class: "btn btn-default add-button" %>
      </div>
    </div>
  </div>

文件名下的ingredient_fields代码 - &gt; _ingredient_fields.html.erb

<div class="form-inline clearfix">
  <div class="nested-fields">
    <%= f.input :name, input_html: {class: "form-input form-control"} %>
    <%= link_to_remove_association "Remove", f, class: "btn btn-default form-button"%>
  </div>
</div>

配方模型的代码

class Car < ApplicationRecord
  has_many :ingredients

  has_attached_file :image, styles: { medium: "450x250#" }
  validates_attachment_content_type :image, content_type: /\Aimage\/.*\z/

  accepts_nested_attributes_for :ingredients, reject_if: :all_blank, allow_destroy: true

  validates :name, :description, :image, presence: true
end
配方控制器的

代码

def recipe_params
    params.require(:recipe).permit(:name, :description, :image, ingredient_attributes: [:id, :name, :_destroy])

0 个答案:

没有答案