2013-05-04 47 views
1

我是新來的Rails,我需要創造這些條件一個簡單的Rails項目:設計rubygem - 如何篩選已認證/未認證用戶的操作?

  • 都必須有一些文章(標題+體)頁面
  • 任何人都可以閱讀這些文章
  • 只經過驗證的用戶可以創建/編輯/刪除這些文章

我用腳手架生成物品和寶石的控制器設計創建身份驗證系統。但我不知道如何實施必要的條件。

感謝您的回覆。

+0

如果我的理解正確 - 您正在嘗試使驗證工作? – Michal 2013-05-04 19:46:27

+1

歡迎來到Stack Overflow!儘管你確實描述了你的問題,但是能夠看到一些代碼是不勝感激的。考慮添加一些代碼,以便您的問題具有更高的價值 – 2013-05-04 19:46:44

回答

5

如果您的用戶模型稱爲user,那麼你會在您的控制器中的以下內容:

before_filter :authenticate_user! 

如果不叫user,你將與不管它是替換authenticate_user Word用戶。如果你想限制在控制器中登錄的用戶,可以使用except排除一些動作只有某些行動

class ArticlesController < ApplicationController 
before_filter :authenticate_user! 

    #rest of code 

end 

您將直接在您的控制器聲明下添加這個,像這樣。這裏,索引和顯示可以由任何人可以看到:

before_filter :authenticate_user!, :except => [:index, :show] 

only包括具體行動。在這裏,只有經過身份驗證的用戶可以執行列出的操作:

before_filter :authenticate_user!, 
       :only => [:new, :edit, :create, :update, :delete] 
+0

非常感謝!有用! =) – 2013-05-04 19:57:24