1
我有一個非常簡單的軌道3.0.7應用程序,並試圖控制何時發佈到站點的一般訪問者,只需通過一個簡單的選擇器窗體時創建或編輯帖子。Rails發佈發佈任務
什麼是最好的方式來處理這個任務,我有點生疏在我的軌道上,並不知道如何開始!?
乾杯丹
我有一個非常簡單的軌道3.0.7應用程序,並試圖控制何時發佈到站點的一般訪問者,只需通過一個簡單的選擇器窗體時創建或編輯帖子。Rails發佈發佈任務
什麼是最好的方式來處理這個任務,我有點生疏在我的軌道上,並不知道如何開始!?
乾杯丹
您可以添加一個布爾值published
或時間戳published_at
到Post
模型,然後只需添加到創建/修改後的形式。
布爾方法很簡單,如果您只是想說是否應發佈帖子,而時間戳方法適用,如果您希望能夠事先寫入帖子,然後讓它們自動發佈在某個特定的日期或時間。
然後,創建一個範圍以輕鬆檢索發佈的帖子。這看起來有點不同,具體取決於您是選擇上面的布爾值還是時間戳方法。
# 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
非常感謝這個讓我步入正軌! – MrThomas