我们目前通过以下代码有效的不同部分:
on_boarding_form.rb
def valid?
@sections.all? {|section| section.valid?}
end
这是 on_boarding_section_form.rb 。 我们在哪里做一些检查
validate do
@fields.where(:required => true).where(:hidden => false).each do |req_field|
if req_field.name.to_s == 'FAVOR'
binding.remote_pry
end
if defined? land1
if land1 == 'BE' && req_field.name.to_s == 'ORT01'
# do nothing
elsif land1 == 'BE' && req_field.name.to_s == 'ENTK2'
# do nothing
elsif land1 == 'BE' && req_field.name.to_s == 'PSTLZ'
#validate postal code
@errors.add_on_blank(req_field.name.downcase.to_sym)
elsif land1 != 'BE' && req_field.name.to_s == 'ORT01'
@errors.add_on_blank(req_field.name.downcase.to_sym)
elsif land1 != 'BE' && req_field.name.to_s == 'ENTK2'
@errors.add_on_blank(req_field.name.downcase.to_sym)
elsif land1 != 'BE' && req_field.name.to_s == 'PSTLZ'
# do nothing
else
@errors.add_on_blank(req_field.name.downcase.to_sym)
end
else
@errors.add_on_blank(req_field.name.downcase.to_sym)
end
end
@fields.where(:hidden => false).each do |field|
next if field.field_type =~ /g/i
next if field.field_type =~ /d/i
next if field.field_type =~ /p/i
validates_with LengthValidator, :attributes => field.name.downcase.to_sym, :in => 0..field.field_length
end
end
在紧急联系方面,我们需要检查此人是否已婚。如果该人已婚,则应该要求紧急联系领域。
现在我的问题在于on_boarding_form.rb可以将参数传递给on_boarding_section_form.rb,这样我就可以传递婚姻状况。
谢谢!
亲切的问候, 文森特