我试图返回Rails中对象的标题列表,但是我总是返回整个对象,而不是title属性。
loe是一个对象,它有一个属性是文章列表(命名文章),每个文章本身都是一个对象,有一个名为title的属性。
<%= loe.article.each { |x| print x.title } %>
是我当前尝试进行迭代的方式,但这将返回整个文章列表。
发布于 2013-06-04 06:37:22
使用Array#map
对每个对象调用title
方法,并使用结果创建一个新数组:
loe.article.map(&:title)
以上是以下的简写
loe.article.map{ |o| o.title }
发布于 2013-06-04 13:30:11
使用像'<%=
‘这样的ERB标记意味着您要求ERB显示该表达式的结果(超出您在块内调用print
的事实)。调用像each
这样的可枚举方法将返回原始数组,这就是您所看到的。
将标记更改为<%
(删除=
),您就可以开始工作了。
发布于 2013-06-04 06:36:25
也许是loe.article.map {|x| x.title}
?
https://stackoverflow.com/questions/16906922
复制相似问题