Вложенный в Rails кокон: webpacker не может найти кокон - PullRequest
0 голосов
/ 04 мая 2020

Я использую камень кокона для создания вложенных форм, так как я хотел бы, чтобы пользователь заполнил столько «sub_step», сколько он хочет в форме «main_step».

Вот мой код:

Модель MainStep

class MainStep < ApplicationRecord
    belongs_to :user
    has_many :sub_steps, inverse_of: :main_step
    accepts_nested_attributes_for :sub_steps, reject_if: :all_blank, allow_destroy: true
end

Модель SubStep

class SubStep < ApplicationRecord
    belongs_to :main_step
end

sub_steps_controller

def index
    @sub_step = SubStep.new
    @main_step = current_user.main_step.last
end

def create
    # runs after I submit the form
end

sub_steps / index. html .erb

<%= form_for @main_step do |f| %>
     <%= f.fields_for @sub_step do |step| %>
         <%= render 'sub_step_fields', :f => step %>
     <% end %>
     <%= link_to_add_association 'Add', f, :sub_steps %>
     <% f.submit 'Confirm' %>
<% end %>

sub_steps / _sub_step_fields. html .erb

<div class='nested-fields'>
    <div class="field">
        <%= f.label :created_at %>
        <%= f.text_field :created_at %>
    </div>
    <%= link_to_remove_association "Remove", f %>
</div>

Когда я загружаю страницу, где находится форма, ничего не происходит, когда я нажимаю кнопку «Добавить». Изучив логи, я заметил, что веб-упаковщик не может найти камень кокона, поэтому форма не работает так, как это должно быть.

Я использую Rails 6.0.2, спасибо.

1 Ответ

0 голосов
/ 04 мая 2020

После дополнительных исследований я оказался здесь: https://github.com/nathanvda/cocoon/pull/454

Для меня сработало следующее:

yarn add cocoon-js

а затем добавить в мое заявление. js

import 'cocoon-js';

...