[英]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.