【问题标题】:Haml partial with SinatraHaml 部分与 Sinatra
【发布时间】:2013-03-13 13:57:17
【问题描述】:

我在 Sinatra 中引用了一个 HAML 部分:

= haml :'_review', :locals => {:someLocal => someLocal}

似乎我做错了,因为我在部分名称中包含下划线。有没有办法用 Sinatra 说它是部分的并省略下划线。

如果没有 Sinatra,我认为它是这样的:

= render :partial => 'review', :locals => {:someLocal => someLocal}

但是不能让它与 sinatra 一起工作。

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails sinatra haml


    【解决方案1】:

    你没有做任何“错误”的事情,当调用视图时你使用文件的基本名称,如果它有一个下划线你使用下划线;如果没有,你不会。我真的没有看到使用下划线或不使用下划线有什么好处。也就是说,我是Sinatra Partial 的维护者,因为其他人想要it it's in there

    enable :partial_underscores
    
    partial :review # will look for the _review.haml file.
    

    如果您希望为特定通话关闭它:

    # will render the non_underscored_partial.haml file.
    partial :non_underscored_partial, :underscores => false 
    

    【讨论】:

      【解决方案2】:

      在 sinatra 中,所有视图都使用 views/layout.erb 渲染 - 如果存在 - 您必须在其中调用 yield

      如果您有嵌套布局,则必须在“控制器”端构建布局结构,如Sinatra README 中所述。

      【讨论】:

      • @forumuser 已明确in the instructions,Sinatra 与语言无关,因此如果支持模板语言,那么它对模板的调用将是相同的,例如erb :index 致电 index.erbhaml :index 致电 index.haml。布局中的yield 将生成使用layout.EXT 调用的模板,其中“EXT”是语言扩展名(除非作为选项传递了其他内容)。
      猜你喜欢
      • 2011-04-27
      • 1970-01-01
      • 1970-01-01
      • 2011-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-12
      • 1970-01-01
      相关资源
      最近更新 更多