undefined метод `each 'для nil: NilClass - ошибка при загрузке видео через гем Carrierwave - PullRequest
0 голосов
/ 02 февраля 2019

Я занимаюсь разработкой блога, используя 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

...