2012-12-26 38 views
0

這看起來相當直接,但我仍然無法完成它如何顯示登錄用戶創建的帖子給他?

我有設計安裝,並有用戶和網站類用戶創建網站。

現在我想登錄的用戶看看他創建了哪些網站。這是控制器代碼

def index 
@websites = Website.find(:all) 
end 

和index.html.erb是

<%= render :partial=> "website_list", :locals=> {:website => @Website} %> 

什麼我需要在控制器指數變化,顯示由登錄的用戶只

創建的網站編輯 - 好的,我可以使用遷移在網站表中創建外鍵user_id,但user_id的值全部爲NIL。任何想法爲什麼?

編輯2 - 這裏是我的領域

控制器 dashboard_controller.rb

@websites = current_user.websites.all 

website_controller.rb 這是由腳手架創建的,我還沒有在這

模型 編輯什麼user.rb

has_many :websites 

website.rb

attr_accessible :description, :url, :user_id (**I added :user_id here**) 
belongs_to :user 

VIEWS

<%= render :partial=> "website_list", :locals=> {:website => @Website} %> 

遷移

add_column :websites, :user_id, :integer 

我不知道我缺少的是什麼?

回答

1

您可以使用此:

@websites = current_user.websites.all 
+0

嗨,得到這個錯誤 - 「Mysql2 ::錯誤:未知列'網站.user_id'在'where子句':選擇'網站'。*從'網站'在哪裏'網站''''用戶ID = 1」,我想我需要創建外鍵,你能告訴我該怎麼做嗎? – iCyborg

+0

好的,我可以使用遷移在網站表中創建外鍵user_id,但user_id的值全部爲NIL。任何想法爲什麼? – iCyborg

+0

您可以隨時使用Controller中的current_user.websites。其實你沒有在網站表中的user_id列。 Rails插件設計自己處理這個。有關更多詳細信息,請參閱http://railscasts.com/episodes/209-introducing-devise。 – Rajeswari

0

試試這個:

@websites = Website.find(:all, :conditions => ['user_id = ?',current_user.id.to_s]) 
0

你可以做這樣的..

@websites = Website.where("client_id='101'") 
0

我想這個問題是在你創建行動控制器 - 您正在保存網站而無需連接用戶。

相關問題