【问题标题】:Sinatra HAML Heroku in-file templatesSinatra HAML Heroku 文件内模板
【发布时间】:2013-01-19 00:01:33
【问题描述】:

我正在学习来自 http://ruby.about.com/od/sinatra/a/sinatra7_2.htm 的教程,但是在我自己的环境中运行应用程序时遇到了一些问题。

问题在于以下行:

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

导致“没有这样的文件或目录 - [...]/views/list.haml”

HAML 模板在文件中,并由以下人员终止:

 __END__
 @@ layout

然而 ruby​​ 似乎在 views/ 目录中查找 Haml 文件。

本教程是否缺少强制 ruby​​ 查看文件内部的调用,或者this resource 建议版本 1.9.2 的文件内模板已损坏。

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

【问题讨论】:

    标签: heroku sinatra haml


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      require 'sinatra'
      
      get '/' do
        haml :list
      end
      
      __END__
      
      @@ layout
      %html
        = yield
      
      @@ list
      %div.title the LIST
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-25
        • 1970-01-01
        • 1970-01-01
        • 2013-03-13
        • 2011-12-31
        • 1970-01-01
        相关资源
        最近更新 更多