rails,turbolinks - TypeError:currentState是null rails

时间:2014-06-11 18:54:18

标签: ruby-on-rails-4 turbolinks

ruby​​ 2.1.2,rails 4.1.1

我有一个“订单”模型,在创建新订单“/ orders / new”时,订单表单有一个“添加行”链接,可以动态地向表单添加新行。这一切都有效(差不多)。

如果我通过在地址栏中直接输入“/ orders / new”来访问该页面,则一切正常。但是,如果我按照用户将要执行的“创建新订单”链接访问该页面,则“添加行”链接不起作用,我在控制台中收到以下JavaScript错误...

TypeError: currentState is null
currentStateUrl = new ComponentUrl(currentState.url);    

如果我从“application.js”中删除“// = require turbolinks”这一行就可以了,所以问题必须与turbolinks相关但不确定如何解决?

“add_row”链接的工作方式是“application_helper.rb”上有以下内容

def link_to_add_fields(name, f, association)
  new_object = f.object.send(association).klass.new
  id = new_object.object_id
  fields = f.fields_for(association, new_object, child_index: id) do |builder|
    render(association.to_s.singularize + "_fields", f: builder)
  end
  link_to(name, '#', class: "add_fields", data: {id: id, fields: fields.gsub("\n", "")})
end

最坏的情况是否可以针对特定页面禁用turbolink?

1 个答案:

答案 0 :(得分:0)

啊排序,我看到你可以添加" data-no-turbolink =>真"到我的"创建新订单"链接。

<%= link_to "Create new order", new_order_path, 'data-no-turbolink' => true %>