Rails 3 アプリケーション ビューの 1 つに次のコードがあります。
<ul>
<li style="position:relative">
<b>MR</b> - 18 Jun. 2012 - 11:07<br />
<p style="width:85%">Paid by Cheque 000562</p>
<span style="position:absolute;top:0px;right:0px;text-align:right">£0,00<br /><b>Balance: -£7,36</b></span>
</li>
<hr />
<li style="position:relative">
<b>JJ</b> - 01 May. 2012 - 09:35<br />
<p style="width:85%">label 2 Packets Recovery -Rabbit</p>
<span style="position:absolute;top:0px;right:0px;text-align:right">£0,00<br /><b>Balance: £7,36</b></span>
</li>
<hr />
これにより、次のようにコンテンツが表示されます。
生の Rails コードは次のとおりです。
<ul>
<% @animal.clinicals.each do |clinical| %>
<li>
<b><%= clinical.UserID %></b> - <%= clinical.FullDateTime.strftime("%d %b. %Y - %H:%M") %><br />
<p><%= clinical.ClinicalText %></p>
<span><%= number_to_currency(clinical.Fees, :unit => "£", :separator => ",", :delimiter => "") %><br /><b>Balance: <%= number_to_currency(clinical.LineBalance, :unit => "£", :separator => ",", :delimiter => "") %></b></span>
</li>
<hr />
<% end %>
</ul>
私がやろうとしているのは、ClinicalText フィールドの値に応じて HTML コードを変更することです。たとえば、以下はそのフィールドへの可能なエントリです。
label 2 Packets Recovery -Rabbit
Surcharge (Credit)
disp 250 Tabs...
そのため、ClinicalText の先頭に「label」が含まれている場合は、label という単語を削除して、li に CSS スタイルを追加します。同様に、「Surcharge」または「disp」が含まれている場合、li にさまざまな CSS スタイルを追加したいと思います。
ビューでif、else、elseifステートメントを使用してこれを行う方法を考えることができますが、これを何らかのヘルパーにすることをお勧めします。
任意のポインタをいただければ幸いです!