【问题标题】:rails/carrierwave : nil values saved after upload image by carrierwave, minimagickrails/carrierwave :carrierwave、minimagick 上传图片后保存的 nil 值
【发布时间】:2015-03-15 11:12:57
【问题描述】:

我正在尝试通过载波上传图像,并使用 rails。

使用 minimagick。

实际上,我认为上传工作正常,但没有显示图像。 它还在数据库中显示nil 值。

这是我的代码。

  1. app/models/user.rb

类用户<:base>

mount_uploader :image, ImageUploader

结束

  1. mypage.html.erb(“edit_complete”表单操作)

&lt;input type="file" name='image'&gt;

  1. users_controller.rb

定义编辑完成

user = User.find(session[:user_id])

user.image = params[:image]

user.save

redirect_to :返回

结束

  1. app/uploaders/image_uploader.rb

类 ImageUploader <:uploader::base>

包括 CarrierWave::MiniMagick

存储:文件

定义存储目录

“上传/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}”

结束

结束

没有出现错误,但没有保存在数据库中。

我希望图像文件应该保存在public/upload文件夹中,并且图像文件应该显示在rails cUser.all的数据库中。

但是,当我上传 1.png 文件时, 没有保存任何内容,也没有生成 public/upload 文件夹。 同样在数据库中显示nil 值。

有什么解决办法吗?

【问题讨论】:

    标签: carrierwave null minimagick


    【解决方案1】:

    在文件上传中,您需要在表单标签中使用 multipart 选项,即表单标签中的 multipart 选项应为 true。

    【讨论】:

      【解决方案2】:

      试试这样的:

         <%= form_for @user, :html => {:multipart => true} do |f| %>
              <%= f.file_field :image%>
              <%= f.submit 'Edit'%>
          <% end %>
      

      【讨论】:

        猜你喜欢
        • 2023-03-26
        • 1970-01-01
        • 2013-01-31
        • 1970-01-01
        • 2015-06-26
        • 1970-01-01
        • 2016-08-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多