在sinatra应用程序中使用自定义布局选项时出现NameError

要在我的应用程序中使用自定义布局文件,我使用以下代码,

set :views, File.dirname(__FILE__) + "/../views" set :public_folder, File.dirname(__FILE__) + "/../public" get '/' do if !Db.empty? then haml :home, {:layout => :nosetup-layout} elsif request.ip == "127.0.0.1" then haml :setup, {:layout => :nosetup-layout} else haml :nosetup, {:layout => :nosetup-layout} end end 

布局选项似乎有问题

我收到以下错误

 undefined local variable or method `layout' for # 

那么,我哪里出错了?

将布局重命名为nosetup_layout(使用下划线)。

然后打电话:

 haml :nosetup, {:layout => :nosetup_layout}