Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
395 views
in Technique[技术] by (71.8m points)

ruby on rails - value too long for type character varying(255) - carrierwave

I am using rails 5.2.4, ruby 2.6.6 and carrierwave 2.0. When I try to save image, I get an error value too long for type character varying(255) because my field is string(I made it by docs).

After I made attr_accessor :image, I can save image, but cannot get it. I think will help :text instead of :string, but I want to know why does not work with string. Help me, please.

P.S. I know about question, but there is not answer.

model:

class Message < ActiveRecord::Base
  mount_uploader :image, ImageUploader
end

uploader:

class ImageUploader < CarrierWave::Uploader::Base
  include CarrierWave::MiniMagick

  storage :file

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

  def extension_whitelist
    %w[jpg jpeg png]
  end
end
question from:https://stackoverflow.com/questions/65878307/value-too-long-for-type-character-varying255-carrierwave

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

it was problem with gem validates_lengths_from_database. I answered here


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...