【问题标题】:Rails - Cocoon - Simple Form - does not render [duplicate]Rails - Cocoon - 简单形式 - 不呈现 [重复]
【发布时间】:2015-11-17 18:01:40
【问题描述】:

我将 Cocoon 和 SimpleForm 用于新订单,它们将有多个 OrderItem。

我已经像这样安装了 gem:

gem "cocoon"

同时添加到 application.js 中:

//= require cocoon

模型配置如下:

class Order < ActiveRecord::Base

#Associations
has_many :order_items
accepts_nested_attributes_for :order_items, reject_if: :all_blank, allow_destroy: true
end


class OrderItem < ActiveRecord::Base

#Associations
belongs_to :order
belongs_to :item
end

_form.html.slim for Orders 是:

= simple_form_for(@order) do |f|
   = f.error_notification
   .row
    .col-md-6
        .form-inputs
            = f.association :branch
            = f.association :client

    .col-md-6
        = f.simple_fields_for :order_items do |order_item|
            = render 'order_item_fields', f: order_item
            .links
                = link_to_add_association 'add order_item', f, :order_items

.form-actions
= f.button :submit

部分 _order_items_fields.html.slim 是:

.nested_fields
  = f.input :item_id
  = f.input :dicount_percentage
  = f.input :fulfilment_type
  = f.input :promised_delivery_date
  = f.input :actual_delivery_date
  = f.input :notes
  = link_to_remove_association "remove order item", f

当我运行 orders/new 时,除了应该由 cocoon 显示的字段外,所有字段都会显示。

我已经按照 github 页面上的说明完成了所有操作。

可能是什么问题?

我也查了一下,cocoon JS文件正在加载中。

【问题讨论】:

    标签: ruby-on-rails simple-form cocoon-gem


    【解决方案1】:

    我对 HAML 了解不多,但我认为您需要将 .links= f.simple_fields_for :order_items do |order_item| 对齐,因为 HAML 依赖于空格。

    使用 this simple form example 链接到 Cocoon github

    【讨论】:

    • 我太粗心了!非常感谢您发现这一点!
    【解决方案2】:

    您的表单为空,因为您的字段应嵌套在 simple_form

    = simple_form_for(@order) do |f|
      = f.error_notification
      .row
        .col-md-6
          .form-inputs
            = f.association :branch
            = f.association :client
    

    【讨论】:

    • 抱歉,它们已经嵌套,我现在已经更正了这个问题。现在一切都好吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 2018-09-12
    相关资源
    最近更新 更多