0

私はシナトラ内のHAMLパーシャルを参照しています:

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

部分的な名前にアンダースコアを含めているので、これを間違っているようです。Sinatraを使用して、部分的に言ってアンダースコアを省く方法はありませんか。

シナトラがなければ、私はそれが次のようなものだと思います:

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

しかし、それをシナトラで機能させることはできません。

何か案は?

4

2 に答える 2

3

ビューを呼び出すときは、ファイルのベース名を使用します。アンダースコアがある場合は、アンダースコアを使用します。そうでなければ、あなたはしません。アンダースコアを使用したり、アンダースコアを省略したりしても、あまりメリットはありません。そうは言っても、私はシナトラパーシャルのメンテナーであり、他の何人かの人々がそれを望んでいたので、そこにあります。

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 に答える