我需要在rails应用程序中使用“上传视频”插件。
有谁能告诉我如何做到这一点?
答案 0 :(得分:14)
您也可以使用carrierwave
gem
添加您的Gemfile:gem 'carrierwave'
运行bundle install
使用carrierwave generator创建上传视频的上传器。
rails g uploader video
它在video_uploader.rb
目录
uploaders
在模型中创建要附加视频或图片的迁移,请注意迁移名称add_{column}_to_{model}
rails g migration add_video_to_post video:string
迁移数据库
运行rake db:migrate
向模型添加上传器
class Post < ActiveRecord::Base
mount_uploader :video, VideoUploader
end
在PostController中添加视频参数
class PostController < ApplicationController
.
.
.
def post_params
params.require(:post).permit(:name,:video)
end
end
在_forml.html.erb
views/posts
添加文件附件字段
<%=f.file_field :video%>
观看/流式传输视频
<% @posts.each do |post|%>
<%= post.name %>
<%= video_tag post.video_url.to_s :controls =>true %>
<%end%>
了解更多信息 载波宝石 https://github.com/carrierwaveuploader/carrierwave 和视频教程 http://railscasts.com/episodes/253-carrierwave-file-uploads
答案 1 :(得分:6)
更具体地说,我创建了一个专门用于视频的Rails gem: https://rubygems.org/gems/paperclip-ffmpeg
答案 2 :(得分:1)
尝试paperclip gem,非常受欢迎