2011-05-09 36 views
0

我有一個Message模型,它有一個創建日期。我怎樣才能讓它可以水平顯示日期和垂直顯示其他屬性。Rails 3中的HTML數據表格

因此,這將是這樣的:

Date   1/1/11   2/1/11   3/1/11 
Message  message1   message2   message3 
Attr 1  attr1 val  ....    ... 
Attr 2  attr2 val  ....    ...... 

是否有一個插件/寶石,我可以在Rails的使用,或者我必須使用一些JavaScript庫這樣做呢?

在您的控制器
+0

這只是關於HTML佈局。這裏你不需要Javascript,你不需要任何寶石。 – fl00r 2011-05-09 16:24:12

回答

4

準備數據

@messages = Message.select(:created_at, :message, :attr1, :attr2 ...) 
@turned_messages = @messages.all.inject({}){ |h, c| c.attributes.each{ |k,v| h[k] ||= []; h[k] << v }; h } 

然後在訪問量:

<table> 
    <% @turned_messages.each do |k, values| %> 
    <tr> 
     <td><%= k %></td> 
     <% values.each do |v| %> 
     <td><%= v %></td> 
     <% end %> 
    </tr> 
    <% end %> 
</table> 
+0

以1行顯示所有屬性。輸出如下所示:attr1 attr1value attr2 attr2value。如果我有多個,它只是把所有內容放在一行中。我修改了我如何獲得@messages。這就是我所擁有的:@messages = Message.find_all_by_user_id(current_user.id),我刪除了注入的所有內容。那可能是我輸出混亂的原因嗎? – ed1t 2011-05-10 02:23:19

+0

其實它顯示如:消息val1 val2 attr1 attrval1 attrval2 attr2 attrval2 attrval3 ....全部在同一行 – ed1t 2011-05-10 02:29:53

+0

我編輯了我的答案一點:) – fl00r 2011-05-10 09:16:34