簡體   English   中英

ActiveAdmin自定義belongs_to的表單

[英]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

默認情況下,由於courseuser是關聯,因此應該為您提供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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM