0

我有以下代码:

def isLoggedIn
    if session[:username].nil?
      puts "Not logged in!"
      return render :controller=>"admin", :action=>"login"
    end
  end

以下代码在顶部调用此操作以检查用户的状态。

def view_gallery
    isLoggedIn
       .
       .
       .
       .
      \/
    return render "view_gallery"
  end

我遇到的问题是代码在 isLoggedIn 之后继续执行,尽管控制台正在记录“未登录!” 因为正如预期的那样,用户没有登录。这应该呈现一个它不做的替代布局。如果我拼错了动作(比如“logib”),那么它会抱怨缺少模板 - 所以我可以看到它正在运行渲染功能。

如果我将 render 更改为 redirect_to 和/或如果我将 return 语句移动到行尾,也会发生同样的情况。

有任何想法吗?

非常感谢

4

1 回答 1

0

Rails 指南说按以下方式执行此操作:

render :controller=>"admin", :action=>"login" and return

于 2012-10-30T22:44:19.370 回答