1

アプリに動画を埋め込もうとしていて、gem panda '1.6.0' を使用しています。パンダストリームとレールの統合ガイドに従い、次のコードを作成しました。

  controllers:
  -------------

  class BoothVideosController < ApplicationController
     before_filter :init_booth_video

   def show
    @original_video = @video.panda_video
    @h264_encoding = @original_video.encodings["h264"]
    render :template => 'booth_video/booth_video', :layout => 
                        'sponsored_group_manage_sub_menu'
   end

   def new
     @video = BoothVideo.new
     render :layout => 'sponsored_group_manage_sub_menu'
   end

   def create
     @video = BoothVideo.create!(params[:video])
     redirect_to :action => :show, :id => @video.id 
   end

   def init_booth_video
     @group = Group.find(params[:group_id])
     @video=@group.booth_video
   end
 end


   class PandaController < ApplicationController
       def authorize_upload
         payload = JSON.parse(params['payload'])
         upload = Panda.post('/videos/upload.json', {
         file_name: payload['filename'],
         file_size: payload['filesize'],
        profiles: "h264",
       })
        render :json => {:upload_url => upload['location']}
      end
   end


 model:
 ------
 class BoothVideo < ActiveRecord::Base
   belongs_to :group
   validates_presence_of :panda_video_id

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


 View
 -----

  <% content_for(:page_title, "Create a New Booth Video") -%>
  <% form_for(:booth_video,:url => group_booth_video_path, :html => {:id => 
                                  "new_booth_video", :multipart => true}) do |f| %>
  <h5>New Booth Video</h5>
  <fieldset>
 <input type="hidden" name="panda_video_id"/>
     <label for="title">Title</label><br />
     <%= f.text_field :title, :size => 32, :placeholder => "Title for the new booth 
                           video" %><br /><br />
    <div class='progress'>
            <span id="progress-bar" class='bar'></span>
    </div>
    <div id="browse">Choose file</div>
    <%=f.submit "Upload video" %>
   <% end %>

application.js ファイルに panda アップローダの js も含めました。ファイル アップローダーを表示できますが、実際にファイルを参照して選択すると、実際にはロードされず、進行状況バーにも進行状況が表示されません。

  1. 動画がアップロードされないのはなぜですか?
  2. create アクションはチュートリアルで params[:video] に言及していますが、アップロードされたビデオの「新しい」フォームには param がありません。これをどのように認識しますか?

助けてください!前もって感謝します...

4

0 に答える 0