1

sinatraでruby変数をhamlファイルに戻す方法があるかどうか疑問に思いました。たとえば

haml:

%b
  = variable

ルビー

get '/' do
  variable = "foobar"
  haml :filename
end

次に、hamlファイルを次のように返します。

foob​​ar

4

2 に答える 2

4

インスタンス変数として設定するだけです。

get '/' do
  @variable = "foobar"
  haml :filename
end

そしてあなたのhaml:

=@variable
于 2012-09-15T22:19:31.767 に答える
2

ローカルのハッシュをテンプレートに渡すことができます。

get '/local' do
  haml :filename, :locals => {:variable => "foobar"}
end

これでテンプレートにvariable、値がの変数になります"foobar"

考えられる代替手段は、ヘルパーメソッドを使用することです。

helpers do
  def variable
    "foobar"
  end
end

これで、テンプレートvariableには、を返す(名前の悪い)メソッドが含まれます"foobar"

于 2012-09-15T23:00:29.383 に答える