繁体   English   中英

Ruby / Rails 3:将一组对象属性转换为数组

[英]Ruby/Rails 3: Turning a set of object attributes into an array

@video = Video.find(params[:id])

@lengths = @video.each do |i|
  @length = i.length * 60
end

首先,我假设@video会有一个,但是却出现了这个错误:

undefined method `each' for #<Video:0x4738428>

其次,有没有可以替代最后三行的Ruby单线魔术?

@video在这种情况下不是数组,而是一个对象,因为您要求Video模型仅返回一个视频,该视频具有在params数组中指定的ID。

如果您要从数据库中检索所有视频,请执行以下操作:

@video = Video.all

现在@video将是视频对象的数组。

Pizzicato很好地回答了您的问题,但这是我的两分钱:

如果您想知道对象的类,可以执行以下操作:

p Video.find(params [:id])。class

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM