我已经安装了devise,并希望根据用户是否经过身份验证来限制对某些页面的访问。
我的第一个方法是打开每个视图,然后添加:
<% if mpuser_signed_in? %>
#rest of code
<%end>
(我的模型叫做mpusers)
但我认为可能有更优雅的解决方案?
的Dario
答案 0 :(得分:4)
在控制器中为需要经过身份验证的用户的操作设置before_filter :authenticate_user!
。在此示例中,我们需要对用户进行身份验证以创建,编辑和销毁操作。
class YourController < ApplicationController
before_filter :authenticate_user!, only: [:new, :edit, :update, :destroy]