7

私はフィルターを持っています

#in cities.rb

  filter :country #drop-down select list with more than 200 values

ほとんど静的なリストです。生産性を高めるためにキャッシュする必要があります

私はもう試した

filter :country, :collection=>proc{cache {options_from_collection_for_select(Country.all, :id, :name)}} #no luck

ありがとうございました

4

3 に答える 3

1

次のようなものを試してください。

編集:コメントのフィードバックに基づいてコードサンプルを変更しました。

編集:HTML生成を含むようにサンプルを更新しました。

# In activeadmin
filter :country, :collection => proc do
  Rails.cache.fetch('countries_for_select') do
    options_from_collection_for_select(Country.all, :id, :name)}
  end
end

# Somewhere, when you want to expire the cache
Rails.cache.delete('countries_for_select')
于 2013-03-16T02:20:03.723 に答える
0

国名で検索する方がずっと簡単な場合があります。

この記事をチェックしてください: http://blog.zeratool.net/2012/02/02/activeadmin-filter-from-drop-down-to-textfield/

于 2014-01-02T17:03:32.350 に答える
0

AJAX フィルターを使用できるようになりました。

filter :country, as: :ajax_select, data: { search_fields: [:name] }
于 2016-02-02T15:24:05.807 に答える