1

この項目で説明されているような関係があります。

ActiveAdmin での親オブジェクト属性のフィルター

私はそこに解決策をうまく実装しました。ただし、テキスト ボックスのオートコンプリートを実装したいと思います。

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」を送信しているためです。

オートコンプリートが代わりにユーザーコントローラーに関連付けられているかどうかはわかりませんが、そのバリエーションも機能しませんでした。

4

0 に答える 0