在gem“nested_form”中面对f.link_to_add中的问题

时间:2015-06-10 11:07:56

标签: jquery ruby-on-rails ruby-on-rails-4 nested-forms

您好我正在使用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'

所以这个添加行但没有显示星级我正在附加快照enter image description here

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

enter image description here

我已将其包含在我的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。

1 个答案:

答案 0 :(得分:2)

你可以这样做:

<%= 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
  });
})

这可能适合你。