首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >迭代对象数组并返回属性

迭代对象数组并返回属性
EN

Stack Overflow用户
提问于 2013-06-04 06:32:30
回答 4查看 13.8K关注 0票数 8

我试图返回Rails中对象的标题列表,但是我总是返回整个对象,而不是title属性。

loe是一个对象,它有一个属性是文章列表(命名文章),每个文章本身都是一个对象,有一个名为title的属性。

代码语言:javascript
运行
复制
<%= loe.article.each { |x| print x.title } %>

是我当前尝试进行迭代的方式,但这将返回整个文章列表。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-06-04 06:37:22

使用Array#map对每个对象调用title方法,并使用结果创建一个新数组:

代码语言:javascript
运行
复制
loe.article.map(&:title)

以上是以下的简写

代码语言:javascript
运行
复制
loe.article.map{ |o| o.title }
票数 22
EN

Stack Overflow用户

发布于 2013-06-04 13:30:11

使用像'<%=‘这样的ERB标记意味着您要求ERB显示该表达式的结果(超出您在块内调用print的事实)。调用像each这样的可枚举方法将返回原始数组,这就是您所看到的。

将标记更改为<% (删除=),您就可以开始工作了。

票数 2
EN

Stack Overflow用户

发布于 2013-06-04 06:36:25

也许是loe.article.map {|x| x.title}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16906922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档