嗨,我正在开发一个使用devise和ActiveAdmin的 Rails 3.2.9应用程序。我有用户和公司等模型。我希望管理员从特定公司的注册用户列表中选择一位经理。
我的用户表有这些字段:id、用户名、电子邮件、company_id、密码等
我公司的表有:id、company_name、manager_id(这只是用户的 id)、created_at 等
管理员为公司选择经理后,我希望他的姓名(用户表中的用户名)出现在公司的索引页面中,但现在索引页面中只显示 manager_id。(编辑时,选择经理的下拉菜单显示用户名列表)
请让我知道如何使用查询/加入语句来完成此操作
这是我的company.rb管理员文件
ActiveAdmin.register Company do
index do
column "Company", :name
column :address
column "No. of Subscriptions", :no_of_licenses
column "Manager", :manager_id
default_actions
end
filter :name
form do |f|
f.inputs "Company Details" do
f.input :name
f.input :address
f.input :no_of_licenses, :label => 'No of Subscriptions'
f.input :manager_id, :as => :select, :collection => User.joins('LEFT OUTER JOIN companies ON users.company_id = companies.id').map{|u| [u.username, u.id]}
end
f.buttons
end
end