我有以下代码:
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”),那么就会抱怨缺少模板 - 所以我可以看到它正在运行渲染功能。
如果我将渲染更改为redirect_to和/或将return语句移动到行尾,则会出现同样的情况。
有什么想法吗?
非常感谢
答案 0 :(得分:0)
Rails指南说要按以下方式执行此操作:
render :controller=>"admin", :action=>"login" and return