在 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
});
})
这可能对你有用。
您好,我正在使用 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
});
})
这可能对你有用。