【发布时间】:2014-11-20 16:39:54
【问题描述】:
我正在尝试在 Rails 中的 ActiveAdmin 上安装 CarrierWave gem,而且设置看起来很简单。但是,当我尝试将测试图像上传到 /public/uploads 目录时,图像没有保存。更让人恼火的是,没有一个异常被提出,所以我不知道去哪里寻找问题。我可以创建帖子,浏览图像,选择该图像,然后提交帖子以便保存,但我仍然在 ActiveAdmin 的显示页面上看到IMAGE: EMPTY,如下所示。在图像中,我写了一个包含图像的 lorem ipsum 帖子,并保存了它。
如何让上传者上传?
ruby 1.9.3p547(2014-05-14 修订版 45962)[x86_64-darwin10.8.0]
Rails 4.1.6
这是 ActiveAdmin 中单个 Post 对象的显示页面
这是相关表单的整页截图
相同的表格,但放大了。显然,我并没有尝试在此屏幕截图中上传图片。
/app/uploaders/image_uploader.rb
class ImageUploader < CarrierWave::Uploader::Base
storage :file
def store_dir
"public/uploads"
end
end
/app/models/post.rb
class Post < ActiveRecord::Base
belongs_to :category
scope :rails, -> { where(category_id: 1) }
extend FriendlyId
friendly_id :title, use: [:slugged, :finders]
mount_uploader :image, ImageUploader
end
【问题讨论】:
-
这里可能有很多问题,让我们从 rails 版本开始,看看你用来创建记录的表单
-
好的,@Richlewis,我更新了问题。感谢您伸出援手。在我弄清楚这件事情之前,我完全被困住了。
标签: ruby-on-rails ruby ruby-on-rails-4 carrierwave image-uploading