ruby-on-rails - 如何检索关系/集合的特定属性?

标签 ruby-on-rails ruby attributes collections relationship

是否有从关系/集合中检索所有特定属性的好方法?例如,我想要一个人所有汽车名称的列表。显然我不能执行以下操作:

人.车.名

...但是 ruby​​ 中是否存在处理该问题的某些特性(或者是否存在 ActiveRecord 辅助方法)?显然我可以遍历所有汽车并附加到一个数组,但我想要更简洁的东西。有什么想法吗?

最好的。

最佳答案

如果carsperson的关联,而namecar的属性,那么你可以执行以下操作:

# person = Person.find(conditions)
person.cars.collect { |car| car.name }

甚至(感谢 ActiveSupport 和/或 Ruby 1.9):

person.cars.collect(&:name)

更新:记录在以下位置:

更新 2:应用格式的示例:

person.cars.collect { |car| "(#{car.name})" }

关于ruby-on-rails - 如何检索关系/集合的特定属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1085038/

相关文章:

sql - 使用 * 通配符按条件查找

ruby-on-rails - 字符串连接不可能?

ruby - 如何使用 ruby​​ 将新行写入文件?

ios - 使用 "copy"property 属性来维护不可变的 NSString

ruby-on-rails - 事件模型序列化器 respond_with 导致未定义的方法 "to_model"?

ruby-on-rails - 不明确的列名 : error not working with tags

html - 下载属性在 safari 中不起作用

php - Magento 通过扩展安装添加带有可过滤选项(无结果)的属性

ruby-on-rails - rails :order by date in Postgres returning incorrect order

ruby-on-rails - 是否可以在运行时加载 Rails 助手?