Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在f.link“U至”附加创业板“中面临问题;嵌套的“U形”;_Jquery_Ruby On Rails_Ruby On Rails 4_Nested Forms - Fatal编程技术网

Jquery 在f.link“U至”附加创业板“中面临问题;嵌套的“U形”;

Jquery 在f.link“U至”附加创业板“中面临问题;嵌套的“U形”;,jquery,ruby-on-rails,ruby-on-rails-4,nested-forms,Jquery,Ruby On Rails,Ruby On Rails 4,Nested Forms,您好,我使用的是gem“嵌套形式”,在我看来,我是这样给出的 <%= 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.lin

您好,我使用的是
gem“嵌套形式”
,在我看来,我是这样给出的

<%= 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>
为了显示我使用过的星级

gem 'jquery-raty-rails', github: 'bmc/jquery-raty-rails'
gem 'ratyrate'
所以,这添加行,但星级没有显示我附加的快照

我有这种类型的设计,但当我点击
添加任务时,它不会呈现星级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 %></p>

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

这可能适用于您。

您是否检查过这是否是TurboLink问题?您如何显示星级?通过Javascript阅读此文档中的Javascript事件部分。你必须编写一个js回调函数
'nested:fieldAdded'
,在新字段的初始化中是的,修改了我的问题,请在内部通过它
,是的,它可以工作,但当我填充星号,然后单击add-a-task时出现问题,然后它会清空我上面填充的星号。这是因为有相同的类,所以当你点击“添加任务”,然后它会将raty添加到所有具有“星级”等级的div中。你可以使用“”设置动态类名。这将给你一个固定值,如0,1,2,3…@GauravGupta你能解释一下我们如何在代码中使用它吗?要为“div”添加动态id,我们可以这样做
$(document).on('click', '#add-fields', function(){
   $('.star-rating').raty({
   targetType : 'score',
   targetKeep : true
  });
})