1

リスト内のインデックスに基づいて要素の CSS を割り当てようとしています。

ここで、変数「styling1」に「q-light」または「q-dark」のいずれかの CSS を保存したところ、完全に機能しました。

    <% answers.each_with_index do |answer, i| %>
    <% styling1 = i % 2 == 0 ? 'q-light' : 'q-dark' %>

    <div class="<%= styling %>">

ただし、ここで変数「styling2」にインデックスを格納しようとして、それを別の CSS クラスに追加しようとすると、各要素の CSS が「otherclass 0」、「otherclass 1」などになるとします。予期しない「>」があるという構文エラーが表示されます。

    <% answers.each_with_index do |answer, i| %>
    <% styling2 = i %>

    <%= f.radio_button :answer_id, answer.id%>
    <%= f.label :answer_id, answer.answer, :class => "<%= otherclass styling =>" %> 

エラーの原因がよくわかりません。CSS クラスが数字で始まるはずがないことはわかっていますが、Unicode エスケープ文字を使用して名前を付けたので、css ファイルでは 0 ではなく \30 であり、そのスタイリングは他の場所で機能するため、数字ではないと思います. 「:class =>」のようにクラスを代入すると、変数を呼び出せないのでしょうか?

4

1 に答える 1

2

"#{otherclass styling}"の代わりに使用し<%= otherclass styling %>ます。

于 2012-12-10T04:40:43.583 に答える