在 gem "nested_form" 中 f.link_to_add 中面临问题

Facing issue in f.link_to_add in gem "nested_form"

您好,我正在使用 gem "nested_form",在我看来,我是这样给出的

<%= f.fields_for :tasks do |task_form| %>
  <%= task_form.text_field :name %>
  <div class="star-rating" ></div>   
  <%= task_form.text_field :rate %>
<% end %>
<p><%= f.link_to_add "Add a task", :tasks %></p>

在 js 文件中我已经给出了这个

$('.star-rating').raty({
    targetType : 'score',
    targetKeep : true

});

显示我使用过的星级

gem 'jquery-raty-rails', github: 'bmc/jquery-raty-rails'
gem 'ratyrate'

所以这个添加行但是没有显示星级我附上快照

我有这种类型的设计,但是当我点击 Add A Task 它不会呈现星级 div 它显示如下

我已将其包含在我的 js 文件中

$(document).on('nested:fieldAdded', function(event){
  // this field was just inserted into your form
  var field = event.field; 
  // it's a jQuery object already! Now you can find date input
  var star = field.find('.star-rating');
  // and activate datepicker on it
  star.raty({
    targetType : 'score',
    targetKeep : true
    });
})

但仍然无法正常工作。 请指导如何以嵌套形式呈现 div。

你可以这样做:

<%= f.fields_for :tasks do |task_form| %>
  <%= task_form.text_field :name %>
  <div class="star-rating" ></div>   
  <%= task_form.text_field :rate %>
<% end %>
<p><%= f.link_to_add "Add a task", :tasks, id:"add-fields" %></p>

然后在您的 js 文件中执行:

$(document).on('click', '#add-fields', function(){
   $('.star-rating').raty({
   targetType : 'score',
   targetKeep : true
  });
})

这可能对你有用。