I have a form created using the simple_form gem which populates 2 models using nested attributes. I want to check if there are any errors and display a new block. However, I'm not sure how to correctly access the error message for the location
attribute of the Booking
model.
我有一个使用simple_form gem创建的表单,它使用嵌套属性填充2个模型。我想检查是否有任何错误并显示一个新块。但是,我不确定如何正确访问Booking模型的location属性的错误消息。
class Booking < ActiveRecord::Base
belongs_to :customer
attr_accessible :date_wanted, :location
end
and
class Customer < ActiveRecord::Base
has_many :bookings
accepts_nested_attributes_for :bookings
attr_accessible :name, :phone, :bookings_attributes
validates_presence_of :name, :phone
end
Form view:
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
1 个解决方案
#1
7
b
is an instance of form builder, holding booking
, so you can try:
b是表单构建器的实例,持有预订,因此您可以尝试:
# ...
if b.object.errors[:location]
# ...
#1
7
b
is an instance of form builder, holding booking
, so you can try:
b是表单构建器的实例,持有预订,因此您可以尝试:
# ...
if b.object.errors[:location]
# ...