Я занимаюсь разработкой блога, используя Ruby on Rails, и я хотел использовать драгоценный камень carrierwave для загрузки видео.Я использовал этот полезный пост, чтобы следовать: Загрузить видео в приложении rails
Я уже пробовал Rails Carrierwave Video Uploader , добавив, и это, кажется, не делаетразница.
video_uploader.rb:
class VideoUploader < CarrierWave::Uploader::Base
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end
new.html.erb:
<%= f.label :video %><br>
<%= f.file_field :video %>
show.html.erb:
<% @posts.each do |post|%>
<%= video_tag post.video_url.to_s :controls =>true %>
<% end %>
КогдаЯ создаю новую запись, я не могу нажать «показать» из-за следующей ошибки
Showing C:/Sites/Application/app/views/posts/show.html.erb where line #10 raised:
undefined method `each' for nil:NilClass
Line 10 :<% @posts.each do |posts|%>
Line 11: <%= video_tag post.video_url.to_s :controls =>true %>
Line 12: <% end %>
Я сохранил видео в ресурсах / видео.После загрузки через приложение они сохраняются в папке public / uploads / posts / video / 1 / vid1.mp4