Rails:确定从哪个模型派生的对象

时间:2012-07-17 19:13:12

标签: ruby-on-rails

我有一个包含两个模型对象的数组:

  @search_results = User.find(:all, :conditions => ['name LIKE ?', "%#{params[:query]}%"])
  @search_results += Book.find(:all, :conditions => ['title LIKE ?', "%#{params[:query]}%"])

然后我试着像这样解析它们:

<% @search_results.each do |result| %>
  <% if result.title %>
    <%= link_to result.title, result %>
  <% else %>
    <%= link_to result.name, result %>
  <% end %>
<% end %>

我原本希望if语句会解析用户的书籍(有标题)(不会)。不幸的是,if语句本身会为#“抛出错误”未定义的方法`标题'。我还能做些什么来确定对象所属的模型?

PS。我想将两个模型保存在同一个数组中,这样我就可以通过共享属性page_views对结果进行排名。

1 个答案:

答案 0 :(得分:3)

你想要

result.class.name

参考:How do I get the name of a Ruby class?