2014-11-23 85 views
0

我试图在我的Rails应用程序中使用Carrierwave存储上传的文件。我有一个模型保存了一个名为Episode的(podcast)插曲的数据。每个情节应该有与该情节相关的音频文件的列upload。要做到这一点,我创建了一个名为EpisodeUploader像这样的上传:Carrierwave不保存文件或在数据库中输入记录

rails generate uploader Episode 

注:这是一个有点混乱。我有一个名为情节型号这 有一个名为上传列,但上载被称为情节太 (这将最终使用发电机名为EpisodeUploader

为了使我的模型使用在EpisodeUploader我添加了一个名为upload

rails g migration add_upload_to_episodes upload:string 

列然后,在我的情节模式,我登上上传

mount_uploader :upload, EpisodeUploader 

在我的表单中我加入这样的文件领域:

= f.file_field :upload 

现在,当我上传文件,没有错误或任何被抛出,但该文件不存储在我的磁盘,并没有数据上已写入数据库。

我在做什么错?这可能是命名的事情吗?

回答

0

好吧,我明白了。我在搭建模型后添加了上传器。脚手架操作产生的这种方法在我Episode模型

def episode_params 
    params.require(:episode).permit(:podcast_id, :name, :description) 
end 

我不得不补充:上传到允许则params的列表:

def episode_params 
    params.require(:episode).permit(:podcast_id, :name, :description, :upload) 
end 
0

确保您有权限写入该文件。

+0

而且你必须确保你的carrierwave配置正确。 – ErvalhouS 2014-11-23 21:29:55

相关问题