【问题标题】:undefined method `attachment_will_change!' [duplicate]未定义的方法“attachment_will_change!” [复制]
【发布时间】:2014-08-31 09:58:48
【问题描述】:

我以前从未见过这个错误,undefined method 'attachment_will_change!' for #<Movie:0x00000106b16000>

可能与载波有关。

电影模型中的参数。

def movie_params
   params.require(:movie).permit(:title, :rating, :total_gross, :attachment)
end

carrierwave.rb 在初始化器中。

CarrierWave.configure do |config|

  config.fog_credentials = {

    :provider               => 'abc',        # required
    :aws_access_key_id      => 'abcabc',     # required
    :aws_secret_access_key  => 'abcabcabc',  # required

  }

  config.fog_directory  = 'abcabc'  # required
  config.fog_public     = false     # optional, defaults to true
  config.fog_attributes = {'Cache-Control'=>'max-age=315576000'}  # optional, defaults to {}

end

图片上传

   include CarrierWave::MiniMagick

storage :fog

    def store_dir
        "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
      end

     version :thumb do
        process :resize_to_fit => [50, 50]
      end

     def extension_white_list
        %w(jpg jpeg gif png)
      end

    end

【问题讨论】:

标签: ruby-on-rails carrierwave


【解决方案1】:

正如我所说,您的movies 表中缺少attachment 属性。您必须添加attachment 列才能修复该错误。

未定义的方法'attachment_will_change!'

通过以下命令生成迁移文件

rails g migration AddAttachementToMovies attachement:string

它会生成一个类似这样的迁移文件

class AddAttachmentToMovies < ActiveRecord::Migration
  def change
    add_column :movies, :attachment, :string
  end
end

然后做rake db:migrate

Source

【讨论】:

  • 迁移代码中的小错字 (attachment:string)
猜你喜欢
  • 2011-10-18
  • 1970-01-01
  • 2014-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多