关于ActiveAdmin / Formtastic的一个简单问题。 ActiveAdmin使用formtastic作为它的形式。
我在ActiveAdmin中注册了一个名为ClassSection的模型。这是app / admin / class_section.rb
ActiveAdmin.register ClassSection do
permit_params :max_students, :min_students, :info, :class_course_id, :location_id
form do |f|
f.inputs "Details" do
f.input :class_course
f.input :min_students, label: "Minunum Students"
f.input :max_students, label: "Maxiumum Students"
f.input :location
end
f.inputs do
f.input :info, label: "Additional Information"
end
f.actions
end
end
注意f.input表格中的行:class_course。课程有几个成员:: name和:id_num。姓名是课程的标题(例如“诗歌入门”)。并且:id_num是课程编号(例如'ENG 101')。当前行为是一个下拉菜单,其中列出了class_course中的名称。相反,我想:id_num是下拉列表关联的东西。我可以在该行上设置一个选项来改变它吗?
以下是模型:
class ClassSection < ActiveRecord::Base
belongs_to :class_course
has_many :class_dates
belongs_to :location
end
和
class ClassCourse < ActiveRecord::Base
has_many :class_sections
end
这两个模型的架构:
create_table "class_courses", force: true do |t|
t.string "id_num"
t.string "name"
t.text "description"
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "class_courses", ["id_num"], name: "index_class_courses_on_id_num"
create_table "class_sections", force: true do |t|
t.integer "class_course_id"
t.integer "min_students"
t.integer "max_students"
t.integer "location_id"
t.text "info"
t.datetime "created_at"
t.datetime "updated_at"
end
答案 0 :(得分:1)
您可以对Formtastic中的f.input使用member_label选项以使其在目标模型上使用不同的方法生成下拉标签:
f.input :class_course, member_label: :id_num