Ruby on rails 对受保护页面进行筛选前的Rails检查

Ruby on rails 对受保护页面进行筛选前的Rails检查,ruby-on-rails,ruby,Ruby On Rails,Ruby,我是rails的新手。我想检查一个页面是否受到保护,如果它受到保护,然后将用户重定向到登录页面。因为某种原因它不起作用 我在控制器顶部添加了以下内容: before_filter :check_access, :only => [:show] def check_access @post = Post.find(params[:id]) redirect_to login_url unless @post.published != '2' end 我将此代码添加到Posts控制

我是rails的新手。我想检查一个页面是否受到保护,如果它受到保护,然后将用户重定向到登录页面。因为某种原因它不起作用

我在控制器顶部添加了以下内容:

before_filter :check_access, :only => [:show]
def check_access
  @post = Post.find(params[:id])
  redirect_to login_url unless @post.published != '2'
end
我将此代码添加到Posts控制器:

before_filter :check_access, :only => [:show]
def check_access
  @post = Post.find(params[:id])
  redirect_to login_url unless @post.published != '2'
end

更多信息将有助于诊断问题。我假设@post.published是一个标志,表示该帖子已发布。您可以确保从控制台正确设置了*login\u url*路径

rake routes | grep "login_url"

如果@post.published='2',你为什么不这样做呢?除非有一个!不好,鲁比会来的。描述这些症状会很有帮助。请尝试“受保护的页面正在加载而不是重定向”,而不是“由于某些原因无法工作”。是否确定
published
方法返回字符串?如果它返回一个Fixnum,这个条件将永远不会为真。我解决了它,很抱歉没有意识到有人响应