Ransack不能用turbolinks渲染

时间:2017-06-03 01:39:38

标签: ruby-on-rails turbolinks ransack

在下表中,搜索搜索工作完全正常,没有turbolinks,但有了它,提交按钮只有在重新加载页面后才能工作。 有一个相关问题已经打开here,但我觉得它没有帮助。 有没有办法修复搜索提交按钮,而不是每次刷新当前页面?

%table
  %thead
    %tr
      %th ID
      %th Name
  %tbody
    %tr
    = search_form_for @q, url: courses_path do |f|
      %th= f.text_field :id_eq
      %th= f.text_field :s_name_cont
      = f.submit "Search"
  %tbody
    - @courses.each do |course|
      %tr
        %td= course.id
        %td= course.s_name

我的application.js文件:

//= require jquery
//= require jquery_ujs
//= require moment
//= require turbolinks
//= require bootstrap-sprockets
//= require_tree .

2 个答案:

答案 0 :(得分:1)

虽然不是一个很好的解决方案,但它是 解决方案:

$(document).on('turbolinks:load', function() { 
  if($('#some_form_id').find('input[type=submit]').length <= 0) { 
    $('#some_form_id').prepend('<input type="submit" />');
  }
});

答案 1 :(得分:0)

实际上,更改表格中元素的顺序并将= search_form_for放在表格之外有帮助:

= search_form_for @q, url: courses_path do |f|
  = f.submit "Search"
  %table
    %thead
      %tr
        %th ID
        %th Name
    %tbody
      %tr
        %th= f.text_field :id_eq
        %th= f.text_field :s_name_cont
    %tbody
      - @courses.each do |course|
        %tr
          %td= course.id
          %td= course.s_name