我正在关注http://ruby.about.com/od/sinatra/a/sinatra7_2.htm的教程,但是我在自己的环境中运行应用时遇到了一些问题。
问题是以下一行:
haml :list, :locals => { :cs => Contact.all }
导致“没有这样的文件或目录 - [...] / views / list.haml”
HAML模板位于文件中,并以:
终止 __END__
@@ layout
然而ruby似乎在查看Haml文件的views /目录。
本教程是否缺少强制ruby查看文件内部的调用,或this resource表示版本1.9.2中的文件内模板已损坏。
我正在使用sinatra版本1.1.2和ruby 1.8.7。
答案 0 :(得分:2)
我无法使用Sinatra 1.1.2和Ruby 1.9.2重现。
这样的事情(sinatrarb.com)会产生错误吗?
require 'sinatra'
get '/' do
haml :index
end
__END__
@@ layout
%html
= yield
@@ index
%div.title Hello world!!!!!
答案 1 :(得分:0)
调用列表模板,您还需要将其添加到文件的末尾:
require 'sinatra'
get '/' do
haml :list
end
__END__
@@ layout
%html
= yield
@@ list
%div.title the LIST