7
Tengo un formulario creado usando la gema simple_form que rellena 2 modelos usando atributos anidados. Quiero verificar si hay algún error y mostrar un nuevo bloque. Sin embargo, no estoy seguro de cómo acceder correctamente al mensaje de error para el atributo location
del modelo Booking
.Accediendo a mensajes de error para el campo de atributo anidado
class Booking < ActiveRecord::Base
belongs_to :customer
attr_accessible :date_wanted, :location
end
y
class Customer < ActiveRecord::Base
has_many :bookings
accepts_nested_attributes_for :bookings
attr_accessible :name, :phone, :bookings_attributes
validates_presence_of :name, :phone
end
vista Formulario:
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
Gracias! Puedo ver si hay mensajes de error usando if 'b.object.errors [: location] .empty?'. – dspencer