我正在研究微型社交網絡,我有兩種不同的帳戶類型,用戶可以是簡介或頁面。修改關係協會
class User < ActiveRecord::Base
has_one :profile
has_one :page
end
現在,當我想顯示用戶名,我做current_user.profile.name,但如果用戶是「頁」,我得到一個錯誤,很明顯。
所以,我想這個
private
def current_user
if session[:user_id]
@current_user = User.find(session[:user_id])
if @current_user.account_type == 'profile'
@current_user.profile = @current_user.page
end
end
end
但它不工作。
任何幫助都很讚賞。非常感謝!
這是一個有點混亂 - 如果帳戶類型是一個配置文件,你爲什麼會設置自己作爲一個頁面?另外,我不確定'@ current_user.profile = @ current_user.page'會做什麼,但'@ current_user.profile'將外鍵存儲到'profile',所以你需要存儲'如果你真的想這樣做的話。 – TheDude 2013-02-12 23:16:32
我試圖刪除current_user的「profile」var,並且他沒有,並將配置文件設置爲頁面。所以我不必在每個視圖中的current_user.profile和current_user.page之間進行更改。相反,我只是使用current_user.profile爲 – 2013-02-12 23:19:03