2014-05-09 86 views
1

不知道如何實現這一點:第1頁 如何從一個模型/控制器Rails的數據發送到另一個

    1. 用戶輸入電子郵件在第2頁,用戶不必輸入電子郵件再次,因爲它一直堅持着(也是整個控制器/型號)

    然而,使用下面的代碼片段說它的另一種方式:

    1. 用戶在註冊時輸入電子郵件「[email protected]」/新
    2. 電子郵件被張貼到註冊/創建,所以現在模型註冊有一個新的行數據與「[email protected]
    3. 用戶重定向請求/新
    4. 在請求/新建中,我希望用戶剛剛註冊的同一封電子郵件可以立即訪問,即新請求中的@ requestrecord.email =「[email protected]」所以用戶不必重新輸入,並張貼到請求/創建

    註冊控制器代碼

    def new 
        @signup = Signup.new 
    end 
    
    def create 
        @signup = Signup.new(signup_params) 
        if @signup.save 
         redirect_to new_request_path 
        else 
         render new_signup_path 
        end 
    
    end 
    

    請求控制器代碼

    def new 
        @requestrecord = Request.new 
    end 
    
    def create 
        @requestrecord = Request.new(request_params) 
    end 
    
  • 回答

    1

    你可以只設置用戶的電子郵件在會話變量:

    def create 
        @signup = Signup.new(signup_params) 
        if @signup.save 
         session[:user_email] = @signup.email 
         redirect_to new_request_path 
        else 
         render new_signup_path 
        end 
    end 
    

    ,然後你可以使用它作爲您的請求控制器需要與session[:user_email]

    +0

    OP可能希望閱讀:http://railscasts.com/episodes/217-multistep-forms來澄清這一點 –

    相關問題