В настоящее время я использую гем ClientSideValidations и застрял при рендеринге партиала с использованием ajax и пытаюсь проверить адреса внутри этого рендеринга партиалом с помощью гема, упомянутого выше.Ничего не происходит при вводе неправильной комбинации, указанной в модели.
Если непосредственно перейти к форме адреса и попробовать проверки, все работает нормально, как указано.
Любые подсказки или мысли по поводукак заставить проверки работать внутри партиала?
Спасибо!
EDIT : в консоли JS нет ошибок, просто ничего не происходит, например, при вводе слишком короткого почтового индекса(указано в модели с 5 цифрами).Кстати, я использую haml для представлений.
Так что код в моем представлении:
= link_to "Shipping", addresses_path, :remote => true
соответствующий контроллер address_controller.rb
respond_to do |format|
...
format.js {render :layout => false}
...
end
соответствующий index.js.erb
$("#ajax_content").html("<%= escape_javascript(render :partial =>
"partialXY") %>");
и соответствующий частичный
= form_for @address, :validate => true, :id => "address_form", :remote => true do |f|
- if @address.errors.any?
#error_explanation
%h2
= pluralize(@address.errors.count, "error")
prohibited this user from being saved:
%ul
- @address.errors.full_messages.each do |msg|
%li
=msg
%ul
%li
= f.label :type
= f.select :address_type, [['Billing Address', 'billing'],['Shipping Address',
'shipping']], :class => "address_selection"
%li
= f.label :gender
= f.select :gender, [['Male', 'male'],['Female', 'female']], :class => "text_field"
%li
= f.label :last_name
= f.text_field :last_name, :id => "last_name", :class => "text_field"
%li
= f.label :first_name
= f.text_field :first_name, :class => "text_field"
%li
= f.label :company_name
= f.text_field :company_name, :class => "text_field"
%li
= f.label :street
= f.text_field :street, :class => "text_field"
%li
= f.label :number
= f.text_field :number, :class => "text_field"
%li
= f.label :zipcode
= f.text_field :zipcode, :class => "text_field"
%li
= f.label :place
= f.text_field :place, :class => "text_field"
%li
= f.label :phone_no
= f.text_field :phone_no, :class => "text_field"
%li
= f.label :country
= f.text_field :country, :class => "text_field"
%li
= f.label :email
= f.text_field :email, :class => "text_field"
%li
= f.submit
так как я ничего не сказалпроисходит при проверке визуализированных частичных входных данных, таких как почтовый индекс и т. д. Забавно то, что если вы посмотрите на следующее, автоматически с помощью сгенерированного рельсом представления для редактирования адресов, проверка работает просто отлично.
railsсгенерированный вид для редактирования адреса
=render 'partialXY'
Я давно работаю над этой проблемой и совершенно не знаю, как это исправить.Я уверен, что это как-то связано с ajax, так как использование валидации при рендеринге сгенерированных рельсов прекрасно работает.
Большое спасибо!Фил