0
我有以下代码:Ruby on Rails的 - 重定向/通过行动使不起作用
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语句移动到行尾,也会发生同样的情况。
任何想法的?
非常感谢
但是就像我在原来的问题说,这不会影响奇怪的行为。 –
其实,不应该把“render”当成redirect_to?另外,将IsLoggedIn移动到before_filter也是一个好主意。 – messick