Sinatra HAML Heroku 文件内模板

发布于 2024-10-17 11:01:15 字数 684 浏览 2 评论 0原文

我正在遵循 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​​ 查看文件内部的调用,或者 此资源表明版本 1.9.2 的文件内模板已损坏。

我正在使用 sinatra 版本 1.1.2 和 ruby​​ 1.8.7。

I'm following a tutorial from http://ruby.about.com/od/sinatra/a/sinatra7_2.htm however I'm having a few problems running the app within my own environment.

The problem is that the following line:

   haml :list, :locals => { :cs => Contact.all }

results in a "No such file or directory - [...]/views/list.haml"

The HAML template is within the file, and terminated by:

 __END__
 @@ layout

however ruby seems to be looking in the views/ directory for the Haml files.

Is this tutorial missing a call to force ruby to look inside the file, or this resource suggests that in-file templates are broken for version 1.9.2.

I'm using sinatra version 1.1.2 and ruby 1.8.7.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

○闲身 2024-10-24 11:01:15

我无法使用 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!!!!!

I can't reproduce with Sinatra 1.1.2 and Ruby 1.9.2.

So something like this (sinatrarb.com) example generates the error?

require 'sinatra'

get '/' do
  haml :index
end

__END__

@@ layout
%html
  = yield

@@ index
%div.title Hello world!!!!!
始终不够 2024-10-24 11:01:15

调用列表模板,您还需要将其添加到文件末尾:

require 'sinatra'

get '/' do
  haml :list
end

__END__

@@ layout
%html
  = yield

@@ list
%div.title the LIST

calling a list template you will also need add it to the end of your file:

require 'sinatra'

get '/' do
  haml :list
end

__END__

@@ layout
%html
  = yield

@@ list
%div.title the LIST
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文