2011-06-11 4 views
0

에 걸쳐 검증 '비 표준 가입 과정이 될 것 같습니다 무엇 있습니다레일 - 두 가지 형태

[오신 것을 환영합니다! 이메일 및 비밀번호 입력] => [더 많은 정보 입력] => [등록]

페이지 1의 이메일과 비밀번호 만 유효성을 검사하기 위해 레일을 인식하는 데 문제가 있습니다.

class WelcomeController < ApplicationController 
    def index 
    @user = User.new   
    end 
end 


<%= form_for(@user) do %>   
      <div class="formItem"> 
       <%= label_tag(:email, "Your email address:") %> 
       <%= text_field(:user, :email) %> 
       <br clear="all" /> 
      </div> 
      <div class="formItem"> 
       <%= label_tag(:password, "Select a password:") %> 
       <%= password_field_tag(:password) %> 
       <br clear="all" /> 
      </div>    
      <%= submit_tag("Sign up today - it's free and easy!", :class => "submitForm") %>     
     <% end %> 

=

class UsersController < ApplicationController 
    def create 
    @user = User.new(params[:user]) 
    if @user.save 
     redirect_to(edit_user_path(@user, :noticeHeader => true), :notice => 'Please take a minute and answer these additional questions.')      
     else 
     render :action => "welcome/index" 
    end 
    end 

=

012 : 사용자가 사이트를 명중하면 페이지의 모든 다른 물건 2.

, 그들은 내 환영 페이지를 참조하십시오

가입을 클릭하면 양식 필드의 다음 페이지가 표시됩니다.

내가 겪고있는 문제는 사용자 모델에서 두 페이지에있는 필드를 validates_presence_of한다는 점입니다. 이 필드는 환영 페이지에 없으므로 시작 페이지를 제출할 때 "정의되지 않은 로컬 변수 또는 방법"오류가 발생합니다. 예를 들어, 내가 validates_presence_of : title이라는 제목이 필요하지만 2 페이지에만 나열되어 있으므로 1 페이지가 올바르게 유효성을 검사하지 않습니다.

어떻게 처리 할 생각인가?

감사합니다.

답변