渲染错误的视图
Posted
技术标签:
【中文标题】渲染错误的视图【英文标题】:rendering wrong view 【发布时间】:2011-02-24 10:57:25 【问题描述】:有一个简单的代码:
def new
if !logged_in?
respond_to do |format|
format.js render "new_failed"
return
end
end
article = Article.find params[:id]
@comment = article.comments.build
respond_to do |format|
format.js
end
end
当用户未登录时,应该呈现“new_failed”,但实际上,呈现的是“new”动作。
我什么时候输入logged_in?到方法结束:
def new
if !logged_in?
respond_to do |format|
format.js render "new_failed"
return
end
end
article = Article.find params[:id]
@comment = article.comments.build
respond_to do |format|
format.html # new.html.erb
format.js
end
end
它工作正常。
这是什么奇怪的行为?谁能解释一下?
谢谢。
【问题讨论】:
【参考方案1】:问题是respond_to内部的return。 如果你这样做,它可以工作(在这里)。
if !logged_in?
respond_to do |format|
format.js render "new_failed"
end
return
end
【讨论】:
以上是关于渲染错误的视图的主要内容,如果未能解决你的问题,请参考以下文章
自定义标签渲染器在 Xamarin iOS 的滚动列表视图中显示错误的文本样式