如何创建循环遍历模型中的类的if else语句

时间:2013-08-15 10:52:22

标签: ruby-on-rails-3 methods models

我有一个显示视频的rails应用。我只想显示视频,如果他们有缩略图,所以我在模型中有这个代码:

  def thumbnail_ready?
    BitsOnTheRun::call('videos/thumbnails/show', video_key: key).thumbnail.status == 'ready' rescue false
  end

这在我看来:

<% if video.thumbnail_ready? %>
...
<% end %>

问题是,当缩略图不存在时,根本不显示任何内容。我想要的是检查缩略图是否可用,然后才能进入视图 - 模型或控制器中的某个位置 - 并且只能拉出thumbail_ready?视频。我怎样才能做到这一点?当前的解决方案不适用于阵列。

另一种方法是保留此解决方案,但会使用可用的缩略图自动循环切换到下一个视频。我也不确定如何做到这一点。

感谢任何建议/帮助 - 谢谢!

1 个答案:

答案 0 :(得分:0)

您的代码示例有点稀疏,但假设您有一个包含所有视频的变量@videos,则:

@videos.select(&:thumbnail_ready?)

将为您提供包含缩略图的数组。然后,您可以遍历该数组以仅显示缩略图视频。

如果我误解了你的问题,那么请告诉我,也许还要提供更多的代码背景。