2012-12-21 59 views
1

我有一個非常簡單的軌道3.0.7應用程序,並試圖控制何時發佈到站點的一般訪問者,只需通過一個簡單的選擇器窗體時創建或編輯帖子。Rails發佈發佈任務

什麼是最好的方式來處理這個任務,我有點生疏在我的軌道上,並不知道如何開始!?

乾杯丹

回答

1

您可以添加一個布爾值published或時間戳published_atPost模型,然後只需添加到創建/修改後的形式。

布爾方法很簡單,如果您只是想說是否應發佈帖子,而時間戳方法適用,如果您希望能夠事先寫入帖子,然後讓它們自動發佈在某個特定的日期或時間。

然後,創建一個範圍以輕鬆檢索發佈的帖子。這看起來有點不同,具體取決於您是選擇上面的布爾值還是時間戳方法。

# boolean method 
class Post < ActiveRecord::Base 
    # ... other stuff 
    scope :published, where(:published => true) 

    # ... 
end 

# timestamp method 
class Post < ActiveRecord::Base 
    # ... other stuff 
    scope :published, lambda { where("published > ?", Time.now) } 
end 

最後,在你的控制器要列出發佈的文章給用戶,做這樣的事情:

class PostsController < ApplicationController 
    def index 
    @posts = Post.published 
    end 
end 
+0

非常感謝這個讓我步入正軌! – MrThomas