0
我取從數據庫中的數據,他們有這樣的結構:Rails - 如何將數據庫中的記錄分組/映射到字符串?
@articles = Article.where(...)
在@data
:
id | author_id | article_name | ...
1 | 1 | Morning | ...
2 | 1 | Wednesday | ...
3 | 2 | Hallo! | ...
當我需要找出多少文章確實有一個作家,我做這種方式:
<% articles = Hash[@articles.group_by(&:author_id).map {|k,v| [k,v.length]}] %>
<% @data.uniq_by {|x| x["author_id"]}.each do |result| %>
<%= articles[result.author_id] %>
但我也需要同樣地也獲取文章名稱和訪問他們的方式相同的文章計數。 我需要這樣的:
<%= articles2[result.author_id] %> # and this would print out "Morning,Wednesday" for the author with ID 1
我應該使用哪種方法呢?
是的,我知道,但我需要修改整個表結構,所以這就是爲什麼我需要做就這樣。 – user984621 2014-12-03 12:06:23
@ user984621你爲什麼要改變表格結構?文章表已經有一個author_id列,應該很好去 – Doydle 2014-12-03 12:09:13
這會給出一個'N + 1'的問題。 – Santhosh 2014-12-03 13:04:01