Использование Panda (pandastream) Video для показа всех видео в Index Action
Я использую PandaVideo ( http://www.pandastream.com/docs/integrate_with_rails) для загрузки видео в моем приложении Rails. У меня возникают проблемы с получением кода из документов в Panda и Heroku, чтобы связать его с действием индекса, чтобы показать ВСЕ видео, как с помощью действия индекса контроллера Видео, так и в профиле пользователя, чтобы показать видео каждого пользователя.
Вот код, который они дают, чтобы найти и показать видео об акции Video SHOW:
@video = Video.find(params[:id])
@original_video = @video.panda_video
@h264_encoding = @original_video.encodings["h264"]
затем в представлении просмотра я ссылаюсь на видео на основе последней переменной @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.
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 %>
Вы просто ссылаетесь на API Panda для получения информации, относящейся к загрузке, однако обрабатываете все отношения и модели пользователя и видео.
Дайте мне знать, если я что-то упустил, так как кажется, что вы на правильном пути.