sinatraでruby変数をhamlファイルに戻す方法があるかどうか疑問に思いました。たとえば
haml:
%b
= variable
ルビー
get '/' do
variable = "foobar"
haml :filename
end
次に、hamlファイルを次のように返します。
foobar
インスタンス変数として設定するだけです。
get '/' do
@variable = "foobar"
haml :filename
end
そしてあなたのhaml:
=@variable
ローカルのハッシュをテンプレートに渡すことができます。
get '/local' do
haml :filename, :locals => {:variable => "foobar"}
end
これでテンプレートにvariable
、値がの変数になります"foobar"
。
考えられる代替手段は、ヘルパーメソッドを使用することです。
helpers do
def variable
"foobar"
end
end
これで、テンプレートvariable
には、を返す(名前の悪い)メソッドが含まれます"foobar"
。