2013-04-18 3 views

답변

3

우리가 코드를 살펴 보자 중첩 된 형태로 중첩 된 속성의 유효성을 검사하는 방법이에 대한 메시지를 표시하면 다음과 같다 :

사용자 모델 :

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 %> 
관련 문제