【发布时间】:2019-11-08 17:07:00
【问题描述】:
我是 RoR 的新手!我的控制器中有一个包含哈希的实例变量:
def index
@books = Book.group(:tittle, :author).count
end
我在我的索引页面上显示如下:
{["first book", "Mary Lovelace"]=>1, ["second book", "Paul Smith"]=>3}
{["first book", "Mary Lovelace"]=>1, ["second book", "Paul Smith"]=>3}
这是我的索引视图代码:
tbody>
<% @books.each do |book| %>
<ul style="list-style-type: circle;">
<tr>
<li>
<td><%= @books %></td>
</li>
</tr>
</ul>
<% end %>
</tbody>
我想要完成的结果如下: 我希望视图打印这个 例子
"first book", "Mary Lovelace" => 1
"second book", "Paul smith" => 3
由换行符分隔。想听听您的建议和解决方案。提前致谢!
【问题讨论】:
-
<%= books %>不是这里的答案。这种数据结构也很奇怪。 -
在循环内,你应该使用变量
book而不是集合@books -
@tadman 我该如何改进它?我全力以赴学习如何让事情变得更好!
-
@maxpleaner 成功了!谢谢!顺便说一句,如果你不介意的话。我现在有一个列表,其中最新的是第一个,知道如何列出具有最高
count的列表吗?例如 "second book", "Paul smith" => 3 first in the list 然后: ""first book", "Mary Lovelace" => 1" 因为第一本书的计数 => 3 -
我真的希望这会被彻底颠覆,例如:
{ 1 => { name: 'First book', author: 'Mary Lovelace' }, 3 => { name: 'Second book', author: 'Paul Smith' } }
标签: html ruby hash view ruby-on-rails-5