我正在开发Rails 4.0中的一个应用程序,我有一个问题,turbolinks没有播放很好与一些jQuery代码我有.我有一个Quote模型有一个相关的QuoteItems模型.我使用accept_nested_attributes_for和一些jQuery来填充行项目表单.
当我点击一个链接将我带到new_quote_path时,动态链接不会触发JavaScript代码.当我刷新页面,表格WORKS伟大.我喜欢turbolinks,因为它是超级快,但不知道如何让它在开发工作.这是一些代码.
在quotes.js.coffee
jQuery -> $('form').on 'click','.remove_line_items',(event) -> $(this).prev('input[type=hidden]').val('1') $(this).closest('fieldset').hide() event.preventDefault() $('form').on 'click','.add_fields',(event) -> time = new Date().getTime() regexp = new RegExp($(this).data('id'),'g') $(this).before($(this).data('fields').replace(regexp,time)) event.preventDefault()
行情查看new.html.erb
<%= form_for @quote,:class => "hello" do |f| %> <fieldset> <p> <%= f.label :quote_date,"Date of Quote" %> <br/> <%= f.text_field :quote_date %> </p> <p> <%= f.label :good_through %> <br/> <%= f.text_field :good_through %> </p> <p> <%= f.label :quote_number %><br/> <%= f.text_field :quote_number %> </p> <p> <%= f.label :customer_id,"Customer" %><br/> <%= select(:quote,:customer_id,Customer.all.collect {|c| [ c.fname,c.id ] },:prompt => "Select Customer") %> </p> <%= f.fields_for :quote_items do |builder| %> <%= render 'quote_item_fields',:f => builder %> <% end %> <%= link_to_add_fields "Add Line Item",f,:quote_items %> <p> <%= f.submit %> </p> </fieldset> <% end %>
解决方法
我有同样的问题,如果你想保持turbolinks工作和你的动态jquery,尝试这个宝石:
jquery-turbolinks
希望它有帮助