Как исправить ошибку «неопределенный метод» при использовании оператора carrierwave для загрузки файла - PullRequest
0 голосов
/ 08 февраля 2019

Я новичок в rails, и я пытаюсь использовать gem-файл carrierwave для загрузки файлов в мою систему.Я сделал все шаги, но боролся с тем, как его кодировать, чтобы я мог просматривать его в своей системе без ошибок.

Ранее я пытался добавить

    show.html.erb:

    <%= attachment_tag @post.attachment.url, class: "post-show" %>

, но получаю ошибку

   "undefined method `attachment_tag' for #<#<Class:0xb646078>:0xb8bb8b0>"


posts.rb: 
         class Post < ActiveRecord::Base
     mount_uploader :attachment, AttachmentUploader 
         end


new.html.erb:
          <%= f.label :attachment %><br>
          <%= f.file_field :attachment %>

show.html.erb:
      <%= attachment_tag @post.attachment.url, class: "post-show" %>

/uploaders/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

posts_controller:
       def post_params
    params.require(:post).permit(:post_id, :title, :body, :date, :image, :remove_image, :video, :attachment)
end

Я ожидаю, что результатом этого будет отображение файла, независимо от того, является ли онPDF, PPT или Word документа.

РЕДАКТИРОВАТЬ:

     <iframe src="@post.attachment.url"></iframe>

Это было добавлено в show.html.erb вместо тега вложения.Я больше не получаю сообщение об ошибке, но отображается следующее:

отображается в системе после добавления кода

...