2010-10-18 89 views
0

我目前正在做Michael Hartl的Ruby on Rails教程。Ruby on Rails自動登錄後導致空白用戶屏幕

目前,我對PDF的這一部分,http://railstutorial.org/chapters/sign-in-sign-out#sec:sessions

我的問題是這樣的......

當創建一個新用戶,並自動簽署,簽署了一個新的用戶碼功能正常用戶英寸然而,我後來遇到麻煩。

而不是顯示用戶頁面或重定向一些地方,我無法重定向到任何頁面,而是卡在一個空白的本地主機:3000 /用戶屏幕。

這似乎是問題所在,但它可能不是。

def create 
    @user = User.new(params[:user]) 

    respond_to do |format| 
     if @user.save 
     sign_in @user 
     flash[:success] = "Welcome to the Sample App!" 
     redirect_to users_path 
     else 
     render 'new' 
     end 
    end 
    end 

請讓我知道,如果有更多的信息可能會有所幫助。

非常感謝。

+0

什麼是寫入日誌文件? (log/development.log) – zetetic 2010-10-18 04:26:03

+0

你是否從他的視圖中定義了UserController的索引操作? – shingara 2010-10-18 08:28:18

回答

3

您使用respond_to:format塊,然後您不提供任何格式。如果你希望你的動作對不同的請求格式有不同的表現,例如對於普通的html vs javascript/ajax,你只需要一個格式塊。所以,要麼溝格式塊,像這樣

def create 
    @user = User.new(params[:user]) 
    if @user.save 
     sign_in @user 
     flash[:success] = "Welcome to the Sample App!" 
     redirect_to users_path 
    else 
     render 'new' 
    end 
    end 

或把你的代碼在HTML塊:

def create 
    @user = User.new(params[:user]) 

    respond_to do |format| 
     format.html { 
     if @user.save 
      sign_in @user 
      flash[:success] = "Welcome to the Sample App!" 
      redirect_to users_path 
     else 
      render 'new' 
     end 
     } 
    end 
    end 

第一是可能是你的罰款。

+0

謝謝你這個作品。 – wonderpus 2010-10-18 09:54:19

+0

投給我,然後勾選我:) – 2010-10-21 15:28:08