-1
레일에 중첩 된 폼을 사용하는 IAM 3.2.8 중첩 된 속성을 추가하고 비어있는 것으로 만들고 중첩 된 속성이 유효하지 않은지 양식을 제출할 때 편집 페이지로 이동했을 때중첩 된 속성에 대한 유효성 검사
레일에 중첩 된 폼을 사용하는 IAM 3.2.8 중첩 된 속성을 추가하고 비어있는 것으로 만들고 중첩 된 속성이 유효하지 않은지 양식을 제출할 때 편집 페이지로 이동했을 때중첩 된 속성에 대한 유효성 검사
우리가 코드를 살펴 보자 중첩 된 형태로 중첩 된 속성의 유효성을 검사하는 방법이에 대한 메시지를 표시하면 다음과 같다 :
사용자 모델 :
class User < ActiveRecord::Base
has_one :company
attr_accessible :first_name, :last_name
validates :first_name, :presence => true
validates :last_name, :presence => true
accepts_nested_attributes_for :Company
end
사용자 모델은 한 회사가 있고 우리가 원하는 가정 사용자 회사에 대해 중첩 된 속성을 허용합니다.
의 comapny 모델 :
class Company < ActiveRecord::Base
belongs_to :User
attr_accessible :company_name, :address
validates :company_name, :presence => true
validates :address, :presence => true
end
의 comapny 모델은 COMPANY_NAME 및 주소가 있습니다. 사용자보기에서 회사 속성을 수락 할 수 있으며 사용자가 저장하면 사용자뿐만 아니라 회사의 유효성을 검사합니다. 유효성 검사가 실패하면 사용자 에 대한 내용을 사용자보기에 추가합니다.
<% if @user.errors.any? %>
<div id="error_explanation">
<div class="alert alert-error">
The form contains <%= pluralize(@user.errors.count, "error") %>.
</div>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>