ActiveAdmin の次のリリース (私は 1.0.0.pre を使用しています) では、Ransackメソッドを使用できます。たとえば、ユーザーに属する記事があるとします。
次の admin/article.rb ファイルが作成されます
ActiveAdmin.register Article do
controller do
def scoped_collection
Article.includes(:user)
end
end
index do
column :id
column :created_at
column :title
column("Author", sortable: 'users.first_name') { |item| link_to item.user.full_name, user_path(item.user) }
actions
end
filter :user_first_name_cont, :as => :string
filter :user_last_name_cont, :as => :string
end
ここで、user_first_name_cont は関連するユーザー first_name でフィルタリングする ransack メソッドであり、「cont」は含むことを意味します。