问题
I need a plugin for "Upload Videos" in a rails application.
Can anyone give me an idea on how to do it?
回答1:
Try paperclip gem, very popular for this purpose
回答2:
You can also use carrierwave gem
Add in your Gemfile:
gem 'carrierwave'Run
bundle installCreate an uploader for uploading video using carrierwave generator.
rails g uploader videoIt creates file
video_uploader.rbinuploadersdirectoryCreate a migration in model where you want attach the video or image, be careful with the migration name it should be like
add_{column}_to_{model}rails g migration add_video_to_post video:stringMigrate database
Run
rake db:migrateAdd uploader to the model
class Post < ActiveRecord::Base mount_uploader :video, VideoUploader endAdd video parameter in PostController
class PostController < ApplicationController . . . def post_params params.require(:post).permit(:name,:video) end endAdd file attachment field in
_forml.html.erbwhich is inviews/posts<%=f.file_field :video%>To view/stream the video
<% @posts.each do |post|%> <%= post.name %> <%= video_tag post.video_url.to_s :controls =>true %> <%end%>
for more information carrierwave gem https://github.com/carrierwaveuploader/carrierwave and video tutorial http://railscasts.com/episodes/253-carrierwave-file-uploads
回答3:
Even more specific, I created a Rails gem that works specifically with videos: https://rubygems.org/gems/paperclip-ffmpeg
来源:https://stackoverflow.com/questions/5463572/upload-video-in-a-rails-application