我有一个类似这个项目中描述的关系:
我已经在那里成功实施了解决方案。但是我想为文本框实现自动完成。
有一篇关于在 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”。
我不确定自动完成功能是否应该与用户控制器相关联,但也没有任何变化。