我有一个从 Soundcloud 中提取音乐的 Rails 应用程序。此数据包含一个标题,我将其另存为,mix.sc_title
但它的格式并不总是正确的。我在我的 Mix 模型上添加了一个附加属性,我称之为mix.override_title
为了在我的网站上显示,我想在可用的情况下使用覆盖标题,并在所有其他情况下使用 sc_title。
我有一个混合模型方法可以为我做这件事
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>
正如你所看到的,我没有直接使用任何混合属性,所以当我去数据库时我受到了巨大的打击,我实际上并没有从中受益。
有没有更精简的方法来获取我需要的信息?( mix.display_title
)
我试过Mix.select("display_title").where(:active => true)
但失败了,因为 display_title 不是真正的数据库列