0

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

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

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

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

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

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

有任何想法吗?

4

2 回答 2

3

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

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 
于 2013-03-23T23:33:52.383 回答
1

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

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

于 2013-03-23T21:43:48.983 回答