В Rails использование nested_form для добавления элементов в строки таблицы не работает в производственной среде - PullRequest
1 голос
/ 24 марта 2019

Я использую simple_nested_form, чтобы добавить элементы в строки таблицы, направленные этим https://github.com/ryanb/nested_form/wiki/How-To:-Render-nested-fields-inside-a-table.

Очень хорошо работает в средах разработки. Однако после того, как я развернул этот проект на своем сервере, при нажатии кнопки «Добавить» ответа нет.

Вот мой код:

_form.html.erb

<%= simple_nested_form_for @rule, :wrapper => false do |f| %>
  <%#= f.error_notification %>
  <%= render 'shared/the_error_messages' %>

  <%= render 'basic_info', f: f %>

  <div>
    <%= f.button :submit %>
  </div>
<% end %>

_basic_info.html.erb

<table class="table">
  <thead>
  <tr>
    <th>age>=</th>
    <th>age<=</th>
  </tr>
  </thead>
  <tbody class='fields'>
  <%= f.fields_for :basic_infos, :wrapper => false do |f| %>
    <tr class='fields'>
      <td>
        <%= f.hidden_field :id %>
        <%= f.input :age_lower_bound, label: false, as: :integer%>
      </td>
      <td><%= f.input :age_upper_bound, label: false, as: :integer%></td>
      <td><%= f.link_to_remove 'Remove' %></td>
    </tr>
  <% end %>
  </tbody>
  <tr>
    <td><%= f.link_to_add 'Add basic info', :basic_infos, :container =>'tbody', :fields_element=>'tr'%></td>
  </tr>
</table>

application.js

//= require jquery
//= require rails-ujs
//= require jquery_ujs
//= require jquery-ui
//= require activestorage
//= require turbolinks
//= require bootstrap-sprockets
//= require jquery_nested_form
//= require_tree .

window.NestedFormEvents.prototype.insertFields = function(content, assoc, link) {
    var $tr = $(link).closest('tr');
    return $(content).insertBefore($tr);
}

Я потратил много дней, чтобы попробовать разные способы развертывания, и проверил установку nodejs. Может кто-нибудь мне помочь? Thx

1 Ответ

0 голосов
/ 26 марта 2019

Я удалил rails-ujs и jquery-ui в файле application.js. Теперь это выглядит так:

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap-sprockets
//= require jquery_nested_form
//= require_tree .

Теперь он хорошо работает на моем сервере.

Однако я до сих пор не знаю, почему это работает. Может кто-нибудь объяснить мне?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...