在activeadmin中获取自动完成/搜索字段作为输入,可以通过以下步骤实现:
activeadmin
和rails_autocomplete
这两个gem,并运行了bundle install
命令进行安装。User
的资源,并且你想要在ActiveAdmin中搜索name
字段,可以按照以下方式进行定义:ActiveAdmin.register User do
form do |f|
f.inputs do
f.input :name, as: :autocomplete, url: autocomplete_admin_users_name_path, input_html: { data: { autocomplete: autocomplete_admin_users_name_path } }
# 其他字段...
end
f.actions
end
end
autocomplete
的动作,并返回匹配的结果。例如,对于上面的例子,你可以按照以下方式创建一个控制器:class Admin::UsersController < ApplicationController
def autocomplete
term = params[:term]
users = User.where('name LIKE ?', "%#{term}%")
render json: users.pluck(:name)
end
end
routes.rb
文件中,添加一个路由来映射自动完成/搜索的请求到上面创建的控制器动作。例如:namespace :admin do
get 'users/autocomplete', to: 'users#autocomplete', as: 'autocomplete_admin_users_name'
end
总结一下,要在activeadmin中获取自动完成/搜索字段作为输入,你需要定义字段的输入类型为:autocomplete
,并在资源文件中设置相应的URL和数据属性。然后,创建一个控制器来处理自动完成/搜索的请求,并在路由文件中添加相应的路由。这样,你就可以在ActiveAdmin中使用自动完成/搜索字段了。
注意:以上答案中没有提及具体的腾讯云产品和产品介绍链接地址,因为问题中要求不提及云计算品牌商。如需了解腾讯云相关产品和服务,建议访问腾讯云官方网站获取详细信息。
Elastic 中国开发者大会
Elastic 中国开发者大会
云+社区技术沙龙[第17期]
DBTalk技术分享会
云+社区技术沙龙[第12期]
腾讯位置服务技术沙龙
DB TALK 技术分享会
腾讯云GAME-TECH沙龙
腾讯云GAME-TECH游戏开发者技术沙龙
腾讯技术开放日
领取专属 10元无门槛券
手把手带您无忧上云