我有这些协会:
class Course < ActiveRecord::Base
has_many :signup
has_many :user, :through => :signup
accepts_nested_attributes_for :signup
end
class User < ActiveRecord::Base
has_many :signup
has_many :course, :through => :signup
accepts_nested_attributes_for :signup
end
class Signup < ActiveRecord::Base
belongs_to :course
belongs_to :user
end
现在,我想自定义“注册”的 ActiveAdmin 表单,以便它将课程标题和用户名称显示为选择项,而不是文本字段。
默认表单已经做到了这一点,但是我需要进一步自定义表单,并且无法重现默认表单。
您的表单块在您的中看起来像这样admin/signups.rb
:
form do |f|
f.input :course
t.input :user
end
默认情况下,自course
and user
是协会,这应该给你一个collection_select
- 也就是说,a 与name
模型的属性作为标签,id
s 作为值。如果你已经通过了你的input
是输入类型,这将强制它们显示为该类型。
form do |f|
f.input :course, :as => :string
end
这只会给你一个course_id
文本输入字段,您可能只需在其中输入关联对象的 ID。要“重现默认表单”,只需继续添加input
s 为相关属性。你甚至可以把它们包起来f.inputs
将它们分组并使事情看起来很漂亮。
form do |f|
f.inputs "Basic Details" do
f.input :course
f.input :user
end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)