2012-12-29 65 views
0

我有用戶通過設計,並通過腳手架創建配置文件,現在一切工作正常,但我無法「連接」用戶與配置文件。如何連接配置文件控制器和用戶控制器?

這是我迄今所做的 -

user.rb

has_one :profile 

profile.rb

belongs_to :user 

我在配置文件表中創建通過移民user_id列了。

現在,當我登錄並填寫表單/ profiles/new時,它會創建配置文件,但由於user_id字段爲NULL,因此無法鏈接到用戶。此外,用戶可以創建多個配置文件,因爲我認爲他只能創建一個:has_one關係?

任何幫助?

編輯 - 在profiles_controller文件,我也試圖改變

@user_profile = UserProfile.new(params[:user_profile]) 

@user_profile = current_user.userprofile.new(params[:user_profile]) 

,但它給未定義的方法 '用戶配置'

回答

2
@user_profile = current_user.userprofile.new(params[:user_profile]) 

應該是

@user_profile = current_user.build_user_profile(params[:user_profile]) 
+2

我認爲它應該是'@user_profile = current_user.build_profile(params [:user_profile])'(參見http://guides.rubyonrails.org/association_basics.html#has_one-association-reference) – Baldrick

+0

哦,是的,其實這是正確的。答覆修正。 –

+0

我仍然得到相同的錯誤 - 未定義的方法'build_profile' – iCyborg

相關問題