рельсы, турболинки — TypeError: currentState is null rails

рубин 2.1.2, рельсы 4.1.1

У меня есть модель «Заказ», при создании нового заказа «/orders/new» в форме заказа есть ссылка «добавить строку», которая динамически добавляет новую строку в форму. Все работает (почти).

Если я захожу на страницу, набрав «/orders/new» прямо в адресной строке, все работает отлично. Но если я зайду на страницу, перейдя по ссылке «Создать новый заказ», как это обычно делают пользователи, ссылка «добавить строку» не будет работать, и я получу следующую ошибку JavaScript в консоли...

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

Если я удалю строку «//= require turbolinks» из моего «application.js», все будет работать нормально, поэтому проблема должна быть связана с 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

В худшем случае можно ли отключить турбоссылки для определенных страниц?


person polarcare    schedule 11.06.2014    source источник


Ответы (1)


Хорошо, я вижу, вы можете добавить «data-no-turbolink => true» к моей ссылке «Создать новый заказ».

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