[英]ActiveAdmin customizing the form for belongs_to
我有這些聯想:
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
和user
是關聯,因此應該為您提供collection_select
- 即,將模型的name
屬性作為標簽,將id
作為值。 如果您已經傳遞了input
sa輸入類型,則會強制它們顯示為該類型。
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.