在Apotomo小部件的Kaminari,链接搞砸了

时间:2012-12-17 02:34:00

标签: ruby-on-rails kaminari apotomo

我在apotomo小部件中有Kaminari分页。 分页链接按预期呈现,直到触发apotomo事件。然后分页链接使用href呈现,该href似乎是前一个apotomo事件的url:

transactions/render_event_response?...various parameters....

这让我疯了。 apotomo和kaminari之间的url_for_event方法有什么混淆吗?

Rails 3.2.3 Apotomo 1.2.3 Kaminari 0.14.1

1 个答案:

答案 0 :(得分:0)

这是Kaminari的一个问题,我在我的代码中添加了一个修复程序,用于删除Kaminari在从apotomo事件呈现的视图中添加的URL中的不需要的数据。

在application_helper.rb中:

  def strip_apotomo_data_from_kaminari_url(url)
    url.gsub!('/render_event_response', '')
    if url =~ /\?/
      param_list = url.split('?')[1].split('&')
      param_list.reject!{ |p| p.start_with?('source', 'type') }

      url = url.split('?')[0] # strips all params
      url += '?'+ param_list.join('&')
    end
    url
  end

然后我调用此助手来更新5 Kaminari分页链接部分的URL:_page.html.erb,_first_page.html.erb和_last_page.html.erb,_prev_page.html.erb和_next_page.html.erb。 (参见Unwanted form parameters being appended to pagination links的答案)。

感谢apotomo的Nick Sutterer指出我正确的方向https://groups.google.com/forum/?fromgroups=#!topic/cells-and-apotomo/vekawcXAHN0

Kaminari错误是:https://github.com/amatsuda/kaminari/issues/131