我正在使用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);
}
我花了很多天尝试各种部署和检查Node.js安装的方法。 谁能帮我?谢谢
答案 0 :(得分:0)
我删除了文件rails-ujs
中的jquery-ui
和application.js
。
现在看起来像这样:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap-sprockets
//= require jquery_nested_form
//= require_tree .
现在它在我的服务器上运行良好。
但是,我仍然不知道它为什么起作用。有人可以向我解释吗?