繁体   English   中英

使用ransack搜索时,rails kaminari分页不当链接

[英]rails kaminari pagination inappropriate link when using ransack search

这是我的route.rb:

match "search" => "welcome#search" , via: [:get, :post]

这是我在欢迎控制器中的搜索方法:

def search
    @search = Poem.search(params[:q])
    @poems = @search.result(distinct: true).page(params[:page]).per(15)
  end

这是我的搜索视图:

<%= search_form_for @search, url: search_path , html: { method: :post }  do |f| %>
  <%= f.label :content_cont %>
  <%= f.text_field :content_cont %>
  <%= f.submit %>
<% end %>

<%= render :partial => 'show' %>

这是我的部分表演:

<%= paginate @poems%>
.... ( other stuff)

我正在使用ransack执行高级搜索,它确实可以工作,但是分页链接如下所示:

http://0.0.0.0:8080/search?authenticity_token=oiOmBeY80DH0zAN5lST%2BCo355phcr3TGqOSlTQ1qtlc%3D&commit=Search&page=2&q%5Bcontent_cont%5D=&utf8=%E2%9C%93

某种发布/获取问题。

有什么建议吗?

我知道这大概晚了2年,但是这个其他解决方案对我有用,我只是在这里交叉发布:

https://github.com/amatsuda/kaminari/issues/182#issuecomment-122124373

我找到了一种方法,基本上可以做一个后缀,将分页链接的值作为输入字段附加到表单中,这样可以避免地址栏中出现url参数,还可以防止HTTP 414错误。

$(function() {
  $('.pagination a').on('click', function(e){
    e.preventDefault();
    e.stopImmediatePropagation()
    $('form').append("<input type='text' name='page' value=" + e.target().text() + "/>");
    $('form').submit();
  });
});

请让我知道这是否解决了您的问题,或者不是您要的内容!

希望能有所帮助,玩得开心!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM