2012-06-19 21 views
0

你好聰明的程序員輪廓簽署,軌取用的用戶和用戶ID爲一個多頁的個人資料

我一直在尋找和閱讀一兩天,但我需要一些Rails的幫助 -

這是我的目標:我想爲每個用戶創建一個多頁面配置文件,並且我想要使用配置文件控制器來處理這個配置文件。

問題?我如何讓'show'REST動作適用於整個控制器而不是僅僅一個頁面?具體來說,我怎樣才能在Profile控制器中擁有@current_user和@user變量,這些變量對應於登錄用戶和當前用戶的頁面。

我不知道我是否應該在路由中使用多個:id s路由,或者如果有某種方式可以在用戶登錄時使用@current_user登錄的方式持久登錄用戶隨處可見,然後我將使用路由中的用戶個人資料的id。我很確定Facebook做了類似facebook.com/{your_id}/{their_id}/的例子。

我試圖從我的session_helper.rb類訪問@current_user,但它成了零,我不知道如何通過:id使用User.find(params [:id]),因爲配置文件控制器不是隸屬於用戶模型的資源。

任何protips或有益的讀物的鏈接將不勝感激。我是一名初學者,所以如果我反對軌道方式,隨時提出更好的行動方案。提前致謝!

回答

0

你可能不知道,但你可以存儲會話數據,而user_id是人們保存的真正常見的東西。

所以對於

session[user_id] = ....

在標誌節約然後你可以有一個幫手 def current_user User.find(session[user_id]) if session[user_id] end

您應該檢查稱爲設計出的寶石是這樣的。它提供了所有的aunthentication功能,並且它在每個地方都提供了一個current_user方法。你至少應該檢查一下它們是如何實現該方法的。

+0

它說在網站上不要用它來做你的第一個項目,但是我也會去看看 – AJcodez

+0

也許你應該首先檢查會議,如果你不知道它 –

+0

如果有人編輯我會很感激回答是因爲我在打電話,代碼編寫混亂 –