この項目で説明されているような関係があります。
私はそこに解決策をうまく実装しました。ただし、テキスト ボックスのオートコンプリートを実装したいと思います。
ActiveAdmin のフィルターでのオートコンプリートの使用に関する記事があります。
https://github.com/gregbell/active_admin/issues/1754
...しかし、この例には関係が含まれておらず、私の状況にうまく適応できていません。
これが私が試したことです(私の場合、レビューを表示するときにユーザーモデルのユーザー名フィールドでフィルタリングしようとしています):
モデル:
class User < ActiveRecord::Base
end
class Review < ActiveRecord::Base
belongs_to :user
search_methods :user_username
end
アクティブ管理者:
ActiveAdmin.register Review do
controller do
autocomplete :review, :user_username
end
filter :user_username, as: :autocomplete,
url: '/admin/reviews/autocomplete_review_review_user_username',
label: "Username", required: false
end
ルート:
resources :reviews do
get :autocomplete_review_user_username, on: :collection
end
私はこれについていくつかのバリエーションを試しましたが、結果 (オートコンプリートが作動したとき) は通常次のようになります。
ActiveRecord::RecordNotFound (Couldn't find Review with
id=autocomplete_review_review_user_username):
GETリクエストで「id」パラメータ「autocomplete_review_review_user_username」を送信しているためです。
オートコンプリートが代わりにユーザーコントローラーに関連付けられているかどうかはわかりませんが、そのバリエーションも機能しませんでした。