Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
391 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 Answer

0 votes
by (71.8m points)

it was problem with gem validates_lengths_from_database. I answered here


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...