2013-09-26 87 views
0

我有一個與用戶關聯的Post模型(想想'post owner')。Rails ActiveRecord:登錄用戶的默認範圍

class Post < ActiveRecord 
    belongs_to :user 
    (...) 
end 

在我的帖子#index操作/視圖,我想屬於當前登錄的用戶只顯示帖子。

所以第一種方法是以某種方式設置Post模型中的默認範圍,但是因爲current_user僅在運行時才知道,所以這不適合模型(在MVC意義上),而是在控制器中。

那麼,在控制器中實現「默認範圍」的方式是什麼?

回答

2

如果您的用戶類有這樣一個組織,他們的崗位:

class User < ActiveRecord::Base 
    has_many :posts 
end 

然後在你的控制器,你可以簡單地使用

current_user.posts 

來獲得當前用戶的所有帖子

+0

* douh *,當然是。謝謝 :) – tschlein

1

最簡單和乾淨的方法將是範圍爲當前用戶的帖子(右控制器):

current_user.posts 

你可以連在它上面的多個選擇。