ActiveAdmin - 使用过滤器预设生成索引链接?

jgs*_*rts 22 ruby-on-rails activeadmin

在ActiveAdmin页面中,我想包含指向相关资源列表的链接.例如,假设一个站点has_many Sections和一个section属于一个站点(在我的ActiveRecord模型中),我希望我的站点显示页面包含一个指向站点内部分的链接,该链接将转到Section索引页面,站点过滤器预设.

请注意,我希望使用ActiveAdmin的belongs_to的功能; 我不希望嵌套资源有多种原因(嵌套深度> 2,以及可用性问题).我想要的是生成类似于ActiveAdmin生成的URL,如果我首先转到Sections索引页面然后按Site过滤.

ActiveAdmin的过滤功能生成的查询参数列表非常疯狂; 有没有一种帮助方法可以用来实现这个目标?

谢谢!

Dor*_*ian 24

我用这个语法:

link_to "Section", admin_sections_path(q: { site_id_eq: site.id })
Run Code Online (Sandbox Code Playgroud)


jgs*_*rts 20

在meta_search中稍微探讨了一下后,我找到了一个相当令人满意的解决方案.语法有点笨拙,但它可以解决问题.

index do
  ...
  column "Sections" do |site|
  link_to "Sections (#{site.sections.count})", :controller => "sections", :action => "index", 'q[site_id_eq]' => "#{site.id}".html_safe
  end
end
Run Code Online (Sandbox Code Playgroud)