您好我正在使用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。
答案 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
});
})
这可能适合你。