2011-04-09 79 views
2

我想指定一个特定的视图文件来渲染,而不是对应于REST架构的默认视图文件,这意味着我想在控制器中创建我的'create'函数调用“新”的视图文件 - 我相信是可以做到用:ROR 3 - 指定特定的视图文件,忽略应用程序布局

def create 
. 
. 
render :new 
end 

但我也需要一个视图文件忽略布局/ application.html.erb指定的跨站点布局?有没有办法做到这一点?

如果有人出“新”的功能,我可以说出“渲染:布局=>假” ..但我需要它的“创造”

有一样的东西:

render :new, layout => false 

谢谢!

回答

3

另一种方法是:

render :template => :new, :layout => false 
3

我不知道这一点,就必须尝试,但我认为你可以这样做:

layout 'application', :except => :action_name 

排除在你的控制器的动作。

编辑:我刚才试了一下,它的工作原理的确:)

3

你可以做你所提到的

def create 
    render :new, :layout => false 
end 

可以再加入的条件是这样

def create 
    render :new, :layout => user_signed_in? 
end 

或其他方式取决于您的需要