Soundcloud から音楽を取り込む Rails アプリがあります。このデータにはタイトルが含まれており、タイトルとして保存してmix.sc_title
いますが、常に適切にフォーマットされているわけではありません。Mix モデルに追加の属性を追加しました。mix.override_title
私のサイトに表示するために、利用可能な場合はオーバーライド タイトルを使用し、それ以外の場合は sc_title を使用したいと考えています。
これを行うためのMixモデルメソッドがあります
def display_title
override_title.blank? sc_title : override_title
end
Mixes#index グラブ@mixes = Mix.where(:active => true)
と mixes/index.html.erb は次のようになります。
<ul>
<% @mixes.each do |mix| %>
<li><%= link_to mix.display_title, mix %></li>
<% end %>
</ul>
ご覧のとおり、ミックス アトリビュートを直接使用していないため、DB にアクセスすると大きな打撃を受けますが、実際にはその恩恵を受けていません。
必要な情報だけを取得するためのより効率的な方法はありますか? ( mix.display_title
)
試してみMix.select("display_title").where(:active => true)
ましたが、display_title が実際の DB 列ではないため失敗します