【发布时间】:2014-11-23 21:19:50
【问题描述】:
我正在尝试在我的 Rails 应用程序中使用 Carrierwave 存储上传的文件。我有一个模型可以保存名为Episode 的(播客)剧集的数据。每集都应该有一个列upload 用于与该集关联的音频文件。为此,我创建了一个名为 EpisodeUploader 的上传器,如下所示:
rails generate uploader Episode
注意:这有点令人困惑。我有一个名为 Episode 的模型 有一个名为 upload 的列,但上传者也称为 Episode (最终将使用生成器命名为 EpisodeUploader。
为了让我的模型使用EpisodeUploader,我添加了一个名为upload的列
rails g migration add_upload_to_episodes upload:string
然后,在我的 Episode 模型中,我安装了上传器
mount_uploader :upload, EpisodeUploader
在我的表单中,我添加了一个像这样的文件字段:
= f.file_field :upload
现在,当我上传文件时,没有错误或抛出任何东西,但文件没有存储在我的磁盘上,也没有数据写入数据库。
我做错了什么?可能是命名问题?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 carrierwave