1

ちょっとした要件があります。ビデオのアップロードには Paperclip を使用しています。Rails 3.2.6 バージョンを使用しています。通常の画像のアップロードに使用したのと同じプロセスに従いました。model.rb ファイルで言及したパスにビデオを保存しています。しかし、ビデオは show.erb に表示されません。新しいタブに同じ URL を入力すると、動画を読み込むことができます。しかし、同じページではありません。どこで間違ったのかわかりません。

私のmodel.rbファイルでは、

class Product < ActiveRecord::Base 

  attr_accessible :description, :name, :price,:video

  has_attached_file :video,
                :url => "#{Rails.root}/app/assets/images/:basename.:extension",
                :path => "#{Rails.root}/app/assets/images/products/:id/:style/:basename.:extension" 

end

私のshow.html.erbでは、

video_tag @product.video.url  
4

1 に答える 1

2

video_tagの代わりに video_pathを使用してみてください。


また、自分のサイトでこれを自分で行う方法は次のとおりです。

1 - と呼ばれるパーシャルを作成し_video.html.erb(実際には Slim を使用しますが、必要に応じて erb を使用します)、views/shared などのフォルダーに配置し、次のコードを配置します。

<iframe width="490" height="275" src="<%= url %>" frameborder="0" allowfullscreen></iframe>

2 以下のメソッドをapplication_helper.rb

module ApplicationHelper
  # this method will embed the code from the partial
  def show_video(url)
    render :partial => 'shared/video', :locals => { :url => url }
  end 
end

3 - ビューでこれを呼び出すだけです:

<%= show_video @product.video.url   %>

これは私にとってはうまくいきます

于 2012-11-18T15:01:45.780 に答える