ActiveAdmin自动完成对belongs_to的过滤器

时间:2013-01-27 15:14:04

标签: ruby-on-rails autocomplete activeadmin

我的关系类似于此项目中描述的关系:

Filter on parent object attribute in 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:

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'。

我不确定自动完成是否应该与用户控制器相关联,但是没有任何变化可用。

0 个答案:

没有答案