2017-06-03 38 views
1

在下表中,ransack搜索在沒有turbolinks的情況下工作得很好,但使用它後,只有在重新加載頁面後,submit按鈕才能正常工作。 有一個有點相關的問題打開here,但我沒有覺得有幫助。 有沒有辦法修復搜索提交按鈕,而不是每次刷新當前頁面?Ransack不使用turbolinks渲染

%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 . 

回答

1

雖然不是一個很好的解決方案,這是一個解決

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