bra*_*ing 12 ruby-on-rails devise cancan
我在Rails 3.2项目中使用了devise和cancan.我有一个带有布尔标志public的事件模型.如果事件被标记为public => true,那么我希望任何人登录或不能访问该记录
GET /events/:id
Run Code Online (Sandbox Code Playgroud)
如果它被标记为public => false,那么一系列康康技能将决定授权和访问上述资源.
实现这一目标的最佳模式是什么?
shi*_*ara 21
你可以跳过authenticate_user来做到这一点!如果你有这个args
skip_before_filter :authenticate_user!, :only => :show, :if => lambda {
if params[:id]
@event = Event.find(params[:id])
@event and @event.public?
else
false
end
}
Run Code Online (Sandbox Code Playgroud)