2011-11-09 68 views
6

如何通過mercury-rails gem在Mercury的/editor/.*路線上添加驗證檢查?使用水銀導軌進行驗證

我的意思是,我知道你可以:

  • 隱藏鏈接編輯器未通過身份驗證的時候。
  • 未經認證時拒絕來自編輯器的更新。

但我更喜歡的用戶被踢出編輯櫃面他的/她具有書籤給編輯未登錄

PS:有人能爲此創建mercury-editor標籤?否則,搜索汞編輯是不可能的。

回答

3

看起來像現在的水銀欄安裝程序會問你是否要他們添加一些驗證碼,如果你這樣做,創建

的lib /汞/ authentication.rb

module Mercury 
    module Authentication 

    def can_edit? 
     true # check here to see if the user is logged in/has access 
    end 
    end 
end 

,您可以在那裏運行校驗碼。也許像「如果user_signed_in?& & current_user.admin?」

7

before_filter方法可能是您想要使用的。

你可以只添加自己的控制器不是從MercuryController繼承和指向路由到控制器:

在配置/ routes.rb中:

... 
match '/editor(/*requested_uri)' => "my_mercury#edit", :as => :mercury_editor 
Mercury::Engine.routes 
... 

和APP /控制器/ my_mercury_controller.rb

class MyMercuryController < MercuryController 
    before_filter :login_required 
    def login_required 
     ... 
    end 
end