2013-03-23 66 views
0

我引用內西納特拉部分一個HAML:Haml的部分與西納特拉

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

好像我這樣做不對,因爲我包括部分名稱下劃線。是不是有一種方法可以讓西納特拉說出它的一個部分,並且忽略下劃線。

沒有末日,我認爲它是這樣的:

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

卻無法得到這與西納特拉工作。

任何想法?

回答

3

在調用視圖時,如果使用文件的基本名稱,如果下劃線使用下劃線,則不會做任何「錯誤」操作;如果沒有,你不會。我並沒有真正看到使用下劃線或忽略下劃線的好處。這就是說,我是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 
1

在sinatra中,所有視圖都使用views/layout.erb呈現 - 如果它存在 - 並且必須有yield調用。

如果您有嵌套佈局,則必須在「控制器」一側構建佈局結構,如Sinatra README中所述。

+0

@forumuser如明確[中的說明](http://www.sinatrarb.com/intro#Views %20 /%20Templates),Sinatra是語言不可知的,所以如果支持模板語言,那麼它對模板的調用將是相同的,例如'erb:index'調用'index.erb'。 'haml:index'調用'index.haml'。佈局中的「yield」會產生與'layout.EXT'一起調用的任何模板,其中「EXT」是語言擴展(除非其他內容作爲選項傳遞)。 – iain 2013-03-24 12:47:55