ROR 3 - 指定特定视图文件,忽略应用程序布局
Posted
技术标签:
【中文标题】ROR 3 - 指定特定视图文件,忽略应用程序布局【英文标题】:ROR 3 - Specifying specific view file, ignoring application layout 【发布时间】:2011-04-09 19:49:42 【问题描述】:我想指定一个特定的视图文件来渲染,而不是与 REST 架构相对应的默认视图文件,这意味着在控制器中的“创建”功能之外,我想调用“新”视图文件 - 我相信可以使用:
def create
.
.
render :new
end
但我还需要该视图文件来忽略 layouts/application.html.erb 中指定的跨站点布局?有没有办法做到这一点?
如果它不在“新”功能中,我可以声明“render :layout => false”.. 但我需要它在“创建”之外
有没有类似的东西:
render :new, layout => false
谢谢!
【问题讨论】:
【参考方案1】:另一种方式是这样的:
render :template => :new, :layout => false
【讨论】:
【参考方案2】:我不确定,必须尝试一下,但我认为你可以这样做:
layout 'application', :except => :action_name
排除控制器中的操作。
编辑:我刚试过,确实有效:)
【讨论】:
【参考方案3】:你可以按照你说的去做
def create
render :new, :layout => false
end
然后你可以像这样添加条件
def create
render :new, :layout => user_signed_in?
end
或其他方式取决于您的需要
【讨论】:
以上是关于ROR 3 - 指定特定视图文件,忽略应用程序布局的主要内容,如果未能解决你的问题,请参考以下文章