Organization
and Image
have a 1-to-1 relationship
. Image
has a column called filename
, which stores the path to a file. I have such a file included in the asset pipeling: app/assets/other/image.jpg
. How can I include the path to this file when seeding?
I have tried in my seeds file:
@organization = ...
@organization.image.create!(filename: File.open('app/assets/other/image.jpg'))
# I also tried:
# @organization.image.create!(filename: 'app/assets/other/image.jpg')
Both generate the error:
NoMethodError: undefined method `create!' for nil:NilClass
I checked with the debugger
and can confirm that it's not @organization
that is nil.
How can I make this work and add the path to the file to the Image
model?
Update: I tried the following:
@image = Image.create!(organization_id: @organization.id,
filename: 'app/assets/other/image.jpg')
And I also tried:
image = @organization.build_image(filename: 'app/assets/other/image.jpg')
image.save
Upon seeding both attempts produce the error:
CarrierWave::FormNotMultipart: You tried to assign a String or a Pathname to an uploader, for security reasons, this is not allowed.