我正在尝试做的事情
我正在我的 Rails 应用程序中使用 Sphinx 对几个不同的模型进行搜索,它成功地返回了加权结果(包括几种不同类型的对象,比如帖子和用户)。我目前正在使用 ( many.each { |one| one.inspect }
) 进行测试,并且效果很好。
我现在正在尝试为每个具有相同名称的模型编写一个方法,该方法将以我选择的格式输出我的对象。例如,而不是one.inspect
,我想放置one.print_pretty
并让它输出 html,该 html 可以整齐地打印出特定于该类型对象的信息。使用用户示例,我希望它输出如下内容:
<div class="small-2 columns">
<%= image_tag(one.userpic.avatar.url) %>
</div>
<div class="small-10 columns">
<div class="row">
<h3 class="subheader"><%= one.first + " " + one.last %></h3>
</div>
<div class="row">
<%= one.tagline %>
</div>
</div>
相比之下,在我的帖子模型上,它应该输出适用于帖子属性和优先级的不同内容。
问题
如何为 Rails 模型编写一个方法,该方法将输出 html 样式的块以编码或以其他方式输出未知对象类型(来自有限池)的样式?