私は、reform gem を使用してネストされたものを実装しようとしています。私は3つのモデルを持っています:
- 顧客 (belongs_to :personal_details)
- PersonalDetail (belongs_to :title)
- タイトル (has_many :PersonalDetail)
次のコードを使用して、reform gem を使用して CustomerForm を作成しようとしています。
/app/forms/customer_form.rb
class CustomerForm < Reform::Form
property :national_id
validates :national_id,
:presence => true
property :personal do
property :first_name
property :title
validates :first_name,
:presence => true
end
end
/app/controllers/customers_controller.rb
def new
@form = CustomerForm.new(Customer.new(personal: Personal.new))
end
/app/views/customers/new.html.haml
= simple_form_for @form, :url => customers_path do |f|
= f.input :national_id
= f.simple_fields_for :personal do |builder|
= builder.input :first_name
= builder.association :title
= f.button :submit, "Submit"
:title 属性は、フォームの送信中に入力を受け取りません。Title と PersonalDetail の関係は、ドロップダウンに Title.name のリストを入力するためにのみ使用されます。上記を試してみると、性別の関連付けが存在しないというエラー メッセージが表示されます。標準のモデルベースのアプローチを使用して同様のことを試みると、それは魅力のように機能します。
何か案は?ドキュメントを数回確認しましたが、どこが間違っているのかわかりません。