저는 현재 ClientSideValidations gem을 사용 중이며 ajax를 사용하여 부분 렌더링을하고 위에서 언급 한 gem으로 렌더링 된 부분 내에서 주소의 유효성을 검사하는 동안 멈추었습니다. 모델에 지정된 잘못된 조합을 입력 할 때 아무 것도 발생하지 않습니다.ajax 렌더링 부분에서 ClientSideValidations gem 사용하기
주소 양식을 직접 탐색하고 유효성 검사를 시도하면 모든 것이 정상적으로 작동합니다.
부분적으로 유효성 검사를 수행하는 방법에 대한 힌트 나 생각이 있으십니까?
감사합니다.
EDIT : JS 콘솔에서 오류가 발생하지 않습니다. 예를 들어 너무 짧은 우편 번호 (5 자리 숫자가있는 모델에서 지정)를 입력하면 아무 일도 일어나지 않습니다. Btw 나는 전망을 위해 햄을 사용한다.
그래서 내보기에 코드 :
= link_to "Shipping", addresses_path, :remote => true
해당 컨트롤러 addresses_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
해당 당신이 레일에 의해 자동으로 다음 보면이보기를 생성하는 것이 수정 주소, 유효성 검사 잘 작동합니다.
레일 내가 오랫동안이 문제에 대한 작업과이 문제를 해결하는 방법에 전혀 단서가되지 않았다 주소를
=render 'partialXY'
을 편집 할 뷰를 생성합니다. 레일즈 렌더링을 렌더링 할 때 유효성 검사를 사용한 이후로 아약스와 관련이 있다고 확신한다.
고맙습니다. Phil
무엇이 작동하지 않습니까? 로그 또는 JS 콘솔에 오류가 있습니까? 코드를 보여줄 수 있습니까? –
@Jordan이 코드를 추가했습니다! 뭔가 빠졌을 때 알려줘! Phil – user966041