将数据从DB传递到视图

时间:2015-12-23 07:58:11

标签: ruby-on-rails ruby ruby-on-rails-4

我的数据库有site_url列,created_at列有

id  url  created_at
1   foo  2015-12-21
2   bar  2015-12-23
3   foo  2015-12-24
4   baz  2015-12-25
5   bar  2015-12-26

我想将这些数据传递给视图,以便我可以显示每个网址创建网址的时间。

目前,我提取数据如下

site = Model.all
each_site = site.group_by(&:url)

通过这样做,我得到了一个哈希,如

{"foo" => [id: 1, url: "foo", created_at: "2015-12-21"], "bar" =>[…]}

我是否走在正确的轨道上?

最后,我想在像

这样的视图中做
foo: 2015-12-21, 2015-12-24
bar: 2015-12-23, 2015-12-26
baz: 2015-12-25

如何传递数据来实现这一目标?

1 个答案:

答案 0 :(得分:4)

您可以尝试这样的事情:

<% site.group_by(&:url).each do |url, rest| %>
   <%= "#{url}: #{rest.map{|x| x[:created_at]}.join(', ')}" %>
<% end %>