0

パーシャルを呼び出すための私のビューのコードは次のとおりです。

<%= render :partial => "/divbox", :locals => { :smush => "Science" } %>

_divbox.html.erb の内容は次のとおりです。

<div>
<h1> <%= :smush %> </h1>
</div>

次の HTML 出力が期待されます。

<div>
<h1> Science </h1>
</div>

しかし、代わりに私は得る:

<div>
<h1> smush </h1>
</div>

お時間をいただきありがとうございます。

4

1 に答える 1

3

これを変える:

<h1> <%= :class %> </h1>

これに:

<h1> <%= class %> </h1>

コロンの除去に注意してください。パーシャルに渡すローカル変数は、シンボルではなくパーシャル内の変数です。

また、「クラス」は一切使用しないでください。これは ruby​​ の予約語であり、機能する場合でも紛らわしいものです。次のようにします。

<%= render :partial => "/divbox", :locals => { :class_name => "Science" } %>


<div>
<h1> <%= class_name %> </h1>
</div>

または、本当に「クラス」だけが必要な場合は、一般的な代替である「クラス」を使用してください...

于 2012-12-08T21:52:05.317 に答える