2011-01-06 2 views
0

Я хочу высказать последние обновления на моем сайте. У меня есть 2 таблицы книг и ноутбуков.советы по обновлению сайта в rails

@books = Book.find(:all, :order => 'created_at', :limit => 3) 
@notebooks = Notebook.find(:all, :order => 'created_at', :limit => 3) 
@updates = (@books + @notebooks).sort_by(&:created_at) 

вид

<% @updates.each do |update| %> 
<%=update.created_at %> #i want to print type of update in here 
<% end %> 

как я могу напечатать тип обновления? Можно ли добавить значение типа в переменную экземпляра?

@books.merge(:type => "book") #not working 

мой окончательный вид должен быть таким:

10/10/2010 book added. 
9/10/2010 notebook added. 
+0

Если вам нужно сделать много вещей, подобных этому, вы можете рассмотреть STI, если модели достаточно схожи. –

ответ

1

Проверьте имя класса

<%= update.class.name.downcase %> 

Может быть, лучше всего, если вы заключаете его в вспомогательный метод, таким образом, вы можете работать с структурой корпуса и расширять его при добавлении новых опций.

+0

спасибо. чистый и простой. – Nanni

0
<% @updates.each do |update| %> 
    <%= update.created_at %> 
    <%= update.class.to_s.downcase %> added. 
<% end %> 
+0

Побейте его Адамом Лассеком. :) –

Смежные вопросы