2011-01-06 2 views
0

내 사이트에 최신 업데이트를 나열하고 싶습니다. 2 권의 책과 노트북이 있습니다.레일의 사이트 업데이트 목록에 대한 조언

@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

Adam Lassek가 이길 수 있습니다. :) –