我正在使用 carrierwave 将图像上传到我的 web 应用程序。
有必要将它们上传到父模型的位置。
IE。
父母是有许多图像的房子。
所以我想将图像存储在
public/uploads/houses/images/[:house_id]/
这是我目前的设置。
..uploaders/image_uploader.rb
def store_dir
puts "uploads/house/#{model.house_id}/#{mounted_as}/#{model.id}"
"uploads/house/#{model.house_id}/#{mounted_as}/#{model.id}"
end
puts 语句打印出我想要的正确路径,但保存的路径不匹配。看来 model.house_id 返回 nil
房屋模型
class House < ActiveRecord::Base
attr_accessible :address, :description, :title, :price, :image, :image_id, :images, :image_cache
has_many :images
mount_uploader :image, ImageUploader
end
图像模型
class Image < ActiveRecord::Base
attr_accessible :house_id, :image
mount_uploader :image, ImageUploader
belongs_to :house
end
我如何获得正确的路径/我做错了什么:(