奇怪的数据映射器行为
我的控制器中有这段代码:
@cats = DirCat.all
在视图中:
%ul#menu
= @cats.each do |item|
%li
= link_to item.title, "/catalog/#{item.id}/"
并得到奇怪的输出:
<ul id='menu'>
<li>
<a href="/catalog/4/">hello</a>
</li>
<li>
<a href="/catalog/5/">hello 1</a>
</li>
#<DataMapper::Collection:0x85a9d00>
</ul>
在 irb 控制台中:
irb(main):002:0> c.each { |item| puts item.title }
hello
hello 1
=> [#<DirCat @id=4 @parent_id=1 @title="hello">, #<DirCat @id=5 @parent_id=1 @title="hello 1">]
如何从我的 html 中取出 #
?
I have this code in my controller:
@cats = DirCat.all
And this in a view:
%ul#menu
= @cats.each do |item|
%li
= link_to item.title, "/catalog/#{item.id}/"
And get strange output:
<ul id='menu'>
<li>
<a href="/catalog/4/">hello</a>
</li>
<li>
<a href="/catalog/5/">hello 1</a>
</li>
#<DataMapper::Collection:0x85a9d00>
</ul>
In the irb console:
irb(main):002:0> c.each { |item| puts item.title }
hello
hello 1
=> [#<DirCat @id=4 @parent_id=1 @title="hello">, #<DirCat @id=5 @parent_id=1 @title="hello 1">]
How can I get out #<DataMapper::Collection:0x85a9d00>
from my html?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 HAML 中,
=
用于显示标记中事物的输出。#
是@cats.each do |item|
的返回值。您想使用-
来执行代码(但不打印返回值):In HAML,
=
is used to display the output of a thing in your markup.#<DataMapper::Collection:0x85a9d00>
is the return value of@cats.each do |item|
. You want to use-
, which executes code (but does not print the return value):