7

ネストされた属性を使用して2つのモデルを生成するsimple_form gemを使用して作成されたフォームがあります。エラーがあるかどうかをチェックして、新しいブロックを表示したい。しかし、Bookingモデルのlocation属性のエラーメッセージに正しくアクセスする方法がわかりません。ネストされた属性フィールドのエラーメッセージへのアクセス

class Booking < ActiveRecord::Base 
    belongs_to :customer 

    attr_accessible :date_wanted, :location 
end 

class Customer < ActiveRecord::Base 
    has_many :bookings 
    accepts_nested_attributes_for :bookings 

    attr_accessible :name, :phone, :bookings_attributes 

    validates_presence_of :name, :phone 
end 

フォームビュー:

simple_form_for @customer, {:html => { :class => "form-horizontal" }} do |f| 
    = f.input :name 
    = f.input :phone 
    = f.simple_fields_for :bookings do |b| 
    = b.input :date 
    = b.input :location 
    - if @customer.errors[:appointments_attributes][:location] 
     # insert code if any validation errors for the date field were found 
    = f.button :submit 

答えて

7

bあなたが試すことができますので、bookingを保持し、フォームビルダのインスタンスである:

​​
+1

ありがとう!私は 'b.object.errors [:location] .empty? 'を使ってエラーメッセージがあるかどうかを知ることができます。 – dspencer

関連する問題