Rails - Cocoon - Простая форма - не отображается

Я использую Cocoon и SimpleForm для новых заказов, которые будут иметь несколько элементов заказа.

Я установил драгоценный камень так:

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 для заказов:

= 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

Когда я запускаю заказы / новые, отображаются все поля, кроме тех, которые должны отображаться коконом.

Я сделал все по инструкции на странице github.

В чем может быть проблема?

Я также проверил, и JS-файл кокона загружается.


person Michael Victor    schedule 17.11.2015    source источник


Ответы (2)


Я мало что знаю о HAML, но я считаю, что вам нужно выровнять .links с = f.simple_fields_for :order_items do |order_item|, так как HAML зависит от пробелов.

Использование этого примера простой формы ссылка на Cocoon github

person schutta    schedule 17.11.2015
comment
какая я невнимательная! Большое спасибо, что заметили это! - person Michael Victor; 17.11.2015

Ваша форма пуста, потому что ваши поля должны быть вложены в simple_form

= simple_form_for(@order) do |f|
  = f.error_notification
  .row
    .col-md-6
      .form-inputs
        = f.association :branch
        = f.association :client
person charlysisto    schedule 17.11.2015
comment
Извините, они уже вложены, сейчас я исправил вопрос. Теперь все в порядке? - person Michael Victor; 17.11.2015