首先,我是法國人,請原諒我的語言錯誤:$。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
難道我拿到這裏有什麼問題?
current_account如何填充?該錯誤表明此變量爲零,可能意味着您未登錄。 – 2011-03-11 19:25:31