Ruby on rails CarrierWave gem isn';t上传,那么为什么没有引发异常?

Ruby on rails CarrierWave gem isn';t上传,那么为什么没有引发异常?,ruby-on-rails,ruby,ruby-on-rails-4,carrierwave,image-uploading,Ruby On Rails,Ruby,Ruby On Rails 4,Carrierwave,Image Uploading,我正在尝试在rails的ActiveAdmin上安装CarrierWave gem,安装似乎很简单。但是,当我尝试将测试图像上载到/public/uploads目录时,图像不会被保存。更令人恼火的是,没有任何例外被提出,因此我不知道从哪里寻找问题。我可以创建一篇文章,浏览一幅图像,选择该图像,然后提交文章以便保存,但我仍然会在ActiveAdmin的显示页面上显示image:EMPTY,如下所示。在图片中,我写了一篇包含图片的lorem ipsum帖子,并保存了它 如何让上传者上传? ruby

我正在尝试在rails的ActiveAdmin上安装CarrierWave gem,安装似乎很简单。但是,当我尝试将测试图像上载到
/public/uploads
目录时,图像不会被保存。更令人恼火的是,没有任何例外被提出,因此我不知道从哪里寻找问题。我可以创建一篇文章,浏览一幅图像,选择该图像,然后提交文章以便保存,但我仍然会在ActiveAdmin的显示页面上显示
image:EMPTY
,如下所示。在图片中,我写了一篇包含图片的lorem ipsum帖子,并保存了它

如何让上传者上传?


ruby 1.9.3p547(2014-05-14修订版45962)[x86_64-darwin10.8.0]

轨道4.1.6


这是ActiveAdmin中单个Post对象的显示页面


这是有关表单的完整页面截图

同样的形式,但放大了。显然,我并没有试图在这个截图中上传图像


/app/uploaders/image_uploader.rb

class ImageUploader
/app/models/post.rb

class Post{where(category_id:1)}
扩展友好ID
友好的\u id:title,用法:[:sluged,:finders]
挂载上传器:图像,图像上传器
终止

经过几个小时的搜索,我在另一个问题中找到了答案的灵感,你可以找到

我没有得到结果的原因是因为我不允许应用程序接受
app/admin/post.rb
文件中的
:image
。现在,我仍然不知道为什么没有出现错误(甚至控制台上记录了一行),但修复获取上传的问题非常简单,只需允许上传参数,如下所示:

permit_params :title, :slug, :blurb, :content, :category_id, :image

当我发布这个问题时,我没有添加最后一个
:image
,因此我的应用程序只是简单地丢弃了该参数,而不是将其与文章的其余部分一起保存在文件系统中

这里可能有很多错误,让我们从rails版本开始,看看你用来创建记录的表单好的,@Richlewis,我更新了这个问题。谢谢你伸出援助之手。我完全陷入困境,直到我能弄明白这件事。这将是我的下一点,但做得很好,弄明白了。。。如果您在提交记录时查看控制台,您会注意到所有参数都已发布,任何不允许的参数都将显示为“未经许可的参数”,或至少类似的内容,因此即使您在视图中没有看到任何错误,您的控制台也是您的朋友,哦,puts也非常有用,虽然我有一张很棒的照片,我觉得更好,你下一步想允许的是_销毁,这样你就可以删除图像秀了,我允许吗?只需将
\u destroy
添加到
permit\u params
列表中,其他什么都不做?这样做时,我会收到一长串错误。我应该在该文件中使用某种操作或块来提供删除功能吗?比如一个按钮?你需要在你的表格中有一个复选框,以便在编辑的时候,检查文档的细节,但我会在下一次我在电脑前发布一个带有示例代码的答案,现在只需删除它,除非你把它整理好
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
permit_params :title, :slug, :blurb, :content, :category_id, :image