2011-03-11 59 views
0

首先,我是法國人,請原諒我的語言錯誤:$。rails未定義的方法 - unix/ruby​​版本pb?

我有兩個導軌環境設置。一個在家裏,我用於基本上開發Web應用程序,另一個在服務器上運行。

出於某種原因,我最後一次推Web應用程序從我的個人計算機我有在控制器下面的錯誤服務器:

NoMethodError in SocialsController#create 
undefined method `profile' for nil:NilClass 

控制器看起來是這樣的:

def create 
    if !break? 
     @social = Social.new(params[:social]) 
     @social.profile_id = current_account.profile.id 
     if @social.save 
     render :inline => "<script>window.onload = window.close()</script>" 
     else 
     render :action => "edit" 
     end 
    else 
     render :action => "error" 
    end 
    end 

這裏是中斷:

def break? 
    @break = false 
    current_account.profile.socials.all.each do |s| 
    if params[:social][:email] == s.email && params[:social][:network] == s.network 
     @break = true 
     break 
    end 
    end 
    return @break 
end 

我應該提到,我有嵌套模型lik e此:帳戶has_one個人資料has_many社交

事情是它是完全相同的項目文件與相同的控制器,完全相同的數據庫。唯一改變的就是Rails版本。這裏的主要區別:

家: - MacOS X的雪豹 - 紅寶石v1.8.7 - 軌v3.0.4 - sqlite3的v3.7.5 - 寶石V1.5.2

服務器: - Linux的Debian的5.0 - 紅寶石v1.9.2p0 - 軌v3.0.4 - sqlite3的v3.7.5 - 寶石V1.6.1

難道我拿到這裏有什麼問題?

+0

current_account如何填充?該錯誤表明此變量爲零,可能意味着您未登錄。 – 2011-03-11 19:25:31

回答

1

在這裏只需拍攝一張黑暗的照片,但它看起來像您的current_user對象是nil在服務器上 - 這可能意味着您要麼已註銷,要麼需要嘗試註銷(或清除cookie)和重新登錄。