7

ネストされた属性を使用して2つのモデルにデータを入力するsimple_formgemを使用して作成されたフォームがあります。エラーがないか確認して、新しいブロックを表示したい。ただし、モデルのlocation属性のエラーメッセージに正しくアクセスする方法がわかりません。Booking

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
4

1 に答える 1

7

bはフォームビルダーのインスタンスであり、を保持bookingしているため、次のことを試すことができます。

# ...
if b.object.errors[:location]
# ...
于 2012-08-23T18:28:41.163 に答える