【问题标题】:Using Panda (pandastream) Video to show all videos in Index Action使用 Panda (pandastream) Video 显示 Index Action 中的所有视频
【发布时间】:2014-03-11 05:15:17
【问题描述】:

我正在使用 PandaVideo (http://www.pandastream.com/docs/integrate_with_rails) 在我的 Rails 应用程序中上传视频。我无法从 Panda 和 Heroku 的文档中获取代码以将其与 index 操作相关联以显示所有视频,无论是在视频的控制器索引操作上还是在用户个人资料上以显示每个用户的视频。

这是他们提供的用于在视频的 SHOW 操作中查找和显示视频的代码:

@video = Video.find(params[:id])
@original_video = @video.panda_video
@h264_encoding = @original_video.encodings["h264"]

然后在show view上,我根据最后一个变量@h264_encoding引用视频

这很好用。现在,我需要以某种方式获取此代码并使用它在单个页面上显示所有视频。对于此示例,让我们在其页面上显示特定用户的所有视频。

def show
  @user = User.find_by(username: params[:username])
  # not sure what goes here to find that user's videos (from Panda).
  # If i were just using paperclip for instance, I could easily write:
    @videos = @user.videos # but I need to use the Panda (the @h264_encoding variable) to find the video.
end

也许这很有用...这是视频模型的一部分

def panda_video
  @panda_video ||= Panda::Video.find(panda_video_id)
end

我希望我已经提供了足够的代码。如果没有,请告诉我,我会添加更多。同样,我试图显示来自 PandaStream 的所有特定用户的视频。

【问题讨论】:

    标签: ruby-on-rails video heroku ruby-on-rails-4 pandastream


    【解决方案1】:

    不确定我是否遗漏了什么,但为什么不这么简单:

    def index
      @videos ||= Video.all
    end
    

    就你的节目而言,我认为这没有什么问题:

    def show
      @user = User.find_by(username: params[:username])
      @videos = @user.videos
    end
    

    那么在您看来,如下所示:

    <%= @videos.each do |video| %>
      <% h264_encoding = video.panda_video.encodings["h264"] %>
      <video id="movie" width="<%= h264_encoding.width %>" height="<%= h264_encoding.height %>" preload="none" 
        poster="<%= h264_encoding.screenshots.first %>" controls>
        <source src="<%= h264_encoding.url %>" type="video/mp4">
      </video>
    <% end %>
    

    您只是参考 Panda 的 API 来检索与上传相关的信息,但是您处理所有关系以及用户和视频模型。

    如果我遗漏了什么,请告诉我,因为您似乎在正确的轨道上。

    【讨论】:

    • 令人惊讶的是,有时最难解决的问题需要一个简单的解决方案。非常感谢@omarvelous。那行得通。我将在 22 小时内奖励赏金(如果允许的话)。
    • 很高兴@Justin 帮助了你
    猜你喜欢
    • 2014-02-25
    • 2012-06-22
    • 2012-12-31
    • 2018-08-02
    • 2011-10-03
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多