我刚刚在Windows上使用Rails 3.2.11创建了一个新项目,默认情况下我的视图没有布局。
我有一个控制器如下:
class DashboardsController < ApplicationController
def initialize
@ini=Date.new(2013,01,01)
@end=Date.new(2013,12,31)
def show
end
end
我的视图show.html.erb
在没有布局的情况下呈现,即使我在控制器上强制layout :application
它也不起作用。
我设法修复此行为的唯一方法是明确告诉show方法使用布局进行渲染。
def show
render :layout => 'application'
end
我错过了什么吗?
默认情况下,不应为所有操作选择默认的应用程序布局吗?
答案 0 :(得分:0)
layout
需要一个字符串。
class DashboardsController < ApplicationController
layout "application"
def show
end
end
符号调用指定的方法,该方法应返回模板名称(作为字符串)。
class DashboardsController < ApplicationController
layout :grab_bag
def show
end
def grab_bag
["red", "white", "blue"].sample
end
end
答案 1 :(得分:0)