Ruby on rails RubyonRails活动管理员有许多更改下拉列表以使用不同的列

Ruby on rails RubyonRails活动管理员有许多更改下拉列表以使用不同的列,ruby-on-rails,ruby,activeadmin,Ruby On Rails,Ruby,Activeadmin,我对ActiveAdmin和RoR完全陌生,我不知道如何更改一个有很多关联的下拉列表的可见值 填充模型 类填充

我对ActiveAdmin和RoR完全陌生,我不知道如何更改一个有很多关联的下拉列表的可见值

填充模型
类填充
汽车模型
class-Cartrue
键是fillup\u id:integer
有很多:加油
结束
它当前显示的内容: 它当前显示im,假设分配给它的汽车的编码参考。

我需要它显示的是: 我需要它显示给定的描述,该描述在
车型中定义为
description:string

像这样的东西应该有用

在app/admin/model_name.rb中

form do |f|
  f.inputs "My Model Name" do
    # add your other inputs
    f.input :cars, :collection => Car.all.map{ |car| [car.description, car.id] }
    f.buttons
  end 
end
阅读以了解有关修改表单的更多信息


AciveAdmin使用时,您也应该阅读相关内容。

在您的
车型中,只需添加如下内容:

def to_s
  description
end
它应该能完成任务


说明:实际上,您的
Car
to_s
方法返回与当前实例相对应的对象id,这是在使用像puts on object这样的方法时使用的默认值。要替换模型的显示名称,您必须覆盖此方法,当您使用
put@car
或在您的模板中执行

时,此方法将在应用程序中的任何位置工作?再一次,我有点犯错误,用这个作为踏脚凳,让自己更容易犯错误。这仍然不能正常工作。您可以在此处查看完整代码:,直接链接到我放置代码的位置:将
f.input:car\u id…
替换为
f.input:car…
。ActiveAdmin理解关系。这就做到了,通过这个简单的问题学到了很多。谢谢你的辛勤工作。我真的很感激。以防万一你想要更多的代表。。我到处找这个。对于任何CakePHP开发人员来说,这类似于在模型中设置$displayField。
form do |f|
  f.inputs "My Model Name" do
    # add your other inputs
    f.input :cars, :collection => Car.all.map{ |car| [car.description, car.id] }
    f.buttons
  end 
end
def to_s
  description
end