@video = Video.find(params[:id])
@lengths = @video.each do |i|
@length = i.length * 60
end
首先,我认为@video会有一个,但却得到了这个错误:
undefined method `each' for #<Video:0x4738428>
其次,有没有可以替代最后3行的Ruby单线魔术?
答案 0 :(得分:4)
@video在这种情况下不是一个数组,它是一个对象,因为你要求视频模型只返回一个视频,一个在params数组中给出id的视频。
如果您想要从数据库中检索所有视频,请执行以下操作:
@video = Video.all
现在@video将是一个视频对象数组。
答案 1 :(得分:1)
Pizzicato回答你的问题很好,但这是我的两分钱:
如果您想知道对象的类,您可以这样做:
p Video.find(params [:id])。class