can i perform validations on an uploader mounted column

14 views
Skip to first unread message

fugee ohu

unread,
Jan 31, 2019, 3:50:44 PM1/31/19
to Ruby on Rails: Talk
I had to remove a validation on the :name column because my PictureUploader which uses Carrierwave is mounted on that column
 mount_uploader :name, PictureUploader
This causes validation
validates :name, presence: true
to cause rows in pictures to be invalid for blank :name even though the name, just a filename, is in the database for that column

Walter Lee Davis

unread,
Jan 31, 2019, 4:38:52 PM1/31/19
to rubyonra...@googlegroups.com
CarrierWave overloads the accessor for the attachment column to respond with the entire uploader model object. This is normal for CarrierWave.

There are other attachment systems (I'm fond of Shrine) that use a different, less-surprising approach. In Shrine, you would have a column called picture_data and an attachment called picture. That way you can keep the difference between db column and virtual object separate.

Walter

>
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
> To post to this group, send email to rubyonra...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/8f78599a-5e59-43e1-8d1e-ec38e897c68d%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

fugee ohu

unread,
Jan 31, 2019, 4:57:15 PM1/31/19
to Ruby on Rails: Talk
 If the uploader's mounted on that column do I still have to validate it ?

Walter Lee Davis

unread,
Jan 31, 2019, 5:13:47 PM1/31/19
to rubyonra...@googlegroups.com
I haven't used Carrierwave in a number of years, but I think that it implements some validators of its own. You should investigate the documentation for CW.

Walter
Reply all
Reply to author
Forward
0 new messages