如何通过mercury-rails
gem在Mercury的/editor/.*路由添加身份验证检查?
我的意思是,我知道你可以:
但是我希望用户被踢出编辑器,因为他/她有一个编辑器的书签,但没有登录。
PS:有人可以为此创建mercury-editor
标签吗?否则,搜索水银编辑器几乎是不可能的。
答案 0 :(得分:7)
您可能希望使用before_filter方法。
您可以添加自己的控制器而不是继承MercuryController并将路由指向控制器:
在config / routes.rb中:
...
match '/editor(/*requested_uri)' => "my_mercury#edit", :as => :mercury_editor
Mercury::Engine.routes
...
app / controllers / my_mercury_controller.rb
class MyMercuryController < MercuryController
before_filter :login_required
def login_required
...
end
end
答案 1 :(得分: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
您可以在那里运行支票代码。也许类似“if user_signed_in?&amp;&amp; current_user.admin?”