在活动管理员中,belongs_to /外键对象字段显示为下拉列表。我的要求是,如果输入是新的,用户应该能够提供输入,它将在创建此条目时创建新的外键条目。 假设我有两张桌子人和车,每个人只有一辆车。
所以我通过以下方式添加了一个额外的参数car_name_str
:
form do |f|
inputs do
input :name
input :address
input :car_string
end
end
我添加了控制器,以便我可以car_string
创建新车。现在的问题是,当我尝试编辑时,car_string
仍为空。现在我该如何预先填充呢?
答案 0 :(得分:1)
您是否了解过ActiveAdmin中的nested resources?
您可以做的是覆盖新操作以初始化新车:
["word", " ", "word", " ", " ", "word", " ", " "]
然后,在您的表单中,您可以写下这样的内容:
controller do
def new
@user = User.new
@user.cars.build(name: 'my awesome car')
end
end
这样您的表单将使用新车进行初始化。当您想要修改用户时,您将获得适合您汽车的价值。
答案 1 :(得分:0)
form do |f|
inputs do
input :name
input :address
input :car_string,:input_html => { :value => f.object.car.name }
end
end