访问嵌套属性字段的错误消息

dsp*_*cer 7 error-handling haml ruby-on-rails ruby-on-rails-3 simple-form

我有一个使用simple_form gem创建的表单,它使用嵌套属性填充2个模型.我想检查是否有任何错误并显示一个新块.但是,我不确定如何正确访问模型location属性的错误消息Booking.

class Booking < ActiveRecord::Base
  belongs_to :customer

  attr_accessible :date_wanted, :location
end
Run Code Online (Sandbox Code Playgroud)

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

  attr_accessible :name, :phone, :bookings_attributes

  validates_presence_of :name, :phone
end
Run Code Online (Sandbox Code Playgroud)

表格视图:

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
Run Code Online (Sandbox Code Playgroud)

Ser*_*yuk 7

b是一个表单生成器的实例,持有booking,所以你可以尝试:

# ...
if b.object.errors[:location]
# ...
Run Code Online (Sandbox Code Playgroud)