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