2014-02-12 4 views
0

Я использую PandaVideo (http://www.pandastream.com/docs/integrate_with_rails) для загрузки видео в мое приложение Rails. У меня возникли проблемы с получением кода из документов в Panda и Heroku, чтобы связать его с действием индекса, чтобы показать ВСЕ видео, как в отношении действия индекса контроллера видео, так и в профиле пользователя, чтобы показывать видео каждого пользователя.Использование Panda (pandastream) Видео, чтобы показать все видеоролики в Index Action

Вот код, который они дают, чтобы найти и показать видео на ШОУ действия данного видео:

@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 Панды для получения I nformation, относящийся к загрузке, однако вы обрабатываете все отношения и модели пользователей и видео.

Сообщите мне, если мне что-то не хватает, так как кажется, что вы на правильном пути.

+0

Удивительно, как иногда вопросы, которые сложнее всего решить, требуют простого решения. Большое спасибо @omarvelous. Это сработало. Я получу награду за 22 часа (когда это позволит мне). –

+0

Рад, что помогло вам @ Justin – omarvelous