2016-03-04 45 views
0

我有一个名为LetterResponseActiveAdmin自动完成

belongs_to的模式:用户

LetterResponse具有以下字段(只是缩短我的模型)

:id 
:title 
:user_id 

而管理员创建新letter_response他将填写标题,当他键入用户名时,应该自动填写

我有10万个用户,这样不能做

f.input :response_user_id, :as => :select, :collection => 
    User.all.collect {|user| [user.first_name, user.user_id] }, label: "Parent" 

即使choozen护栏宝石做相同的预加载数据。

按照

https://github.com/platanus/activeadmin_addons/blob/master/docs/select2_search.md

f.input :response_user_id, as: :search_select, url: admin_users_path, 
      fields: [:user_last_name], display_name: 'name', 
       minimum_input_length: 2 

与activeadmin-插件AJAX搜索这样试过,但我得到一个错误:

undefined method response_user

如何进行?

回答

1

应该不是你的输入字段是:user_id说明,而不是:response_user_id,(监守你提到你的LetterResponse有belongs_to的:用户关系(不belongs_to的:response_user

所以,它应该看起来像

f.input :user_id, as: :search_select, url: admin_users_path, fields: [:user_last_name], display_name: 'name', minimum_input_length: 2