2014-03-28 45 views
0

在我的Rails应用中,我有一个产品类别。每个产品可以有多个视频(来自Youtube或VIMO)。在Rails应用中显示多个视频中的产品的一个视频

我已经生成一个模型和迁移与下面的列

:title, :description, :video_link, :product_id 

我想展示产品展示页面上只有一个视频作为主要或主视频和“关于产品的详细信息”,其余的视频页。

/product.rb

has_many :video_links, dependent: :destroy 

/video_link.rb

belongs_to :product 

所以我的问题是,我应该如何处理标记一个视频显示产品头版(视图)和上其他视频的详细信息页面?

回答

1

我应该如何标记一个视频才能在产品首页(视图)上显示以及其他视频的详细信息页面?

这取决于你想要的“首页视频”的含义。

  • 编辑决定:为'精选'或'首页'添加一个布尔列,让编辑决策者随意翻转那面旗帜。您可以使用其他代码使其具有唯一性,或者添加日期并获取最新的特色视频。
  • 最热门视频:跟踪每个视频的观看次数或投票数,并在头版显示最新的观看次数/投票次数。
  • 最新视频:添加updated_at列,并选择最大价值的视频。

换句话说,它看起来像在这个阶段,这是一个设计,而不是编码问题。

+0

谢谢森。您的第一个评论。我希望制造商/管理者可以决定选择哪一个作为主要的一个。我的问题是如何让一个视频的主要内容之一? –

+1

@SubratRout,我们通过采用最新更新的标记记录来完成。例如。 'Product.video_links.where(featured:true).order(:updated_at).last'。所以在你的情况下,你需要添加'featured'和'updated_at'两列。或者,在您为某条记录翻动'featured'时,您也可以将其翻转以记录所有其他记录。 – Mori

1

您可以在“video_links”表格上有一个类似“main_video”的列,它是一个布尔值,只需要显示一个列,就可以随时获取一列。

+0

谢谢。我的问题是,如果制造商或管理员将视频链接上传到产品,那么他/她如何选择只显示一个为主要视图。我的意思是我在哪里以及如何放置这个约束? –