Я не думаю, что я правильно понимаю это, но как я могу дать пользователям изображение по умолчанию?rails carrierwave default_url не работает
def default_url
"/images/fallback/" + [version_name, "default.png"].compact.join('_')
end
У меня есть изображение под названием default.png внутри моих изображений/резервный каталог. ive, увиденный онлайн, также люди меняют имя версии на что-то вроде «крошечного», но это, похоже, не работает для меня. что происходит? что такое название версии?
я пытался что-то вроде
def default_url
"/images/fallback/default.png"
end
, но это не работает. что я недопонимаю? спасибо!
редактировать:
class ImageUploader < CarrierWave::Uploader::Base
# Include RMagick or MiniMagick support:
include CarrierWave::RMagick
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
# Provide a default URL as a default if there hasn't been a file uploaded:
def default_url
???????
end
# Create different versions of your uploaded files:
version :thumb do
process :resize_to_fill => [80, 80]
end
end
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :name, :email, :password, :password_confirmation,
:remember_me, :image, :remote_image_url, :image_cache
mount_uploader :image, ImageUploader
end
, который я могу назвать, а точнее? im все еще какой-то смущен. Я думал, что default_url - это то, где я ссылаюсь на изображение по умолчанию, а не где-нибудь из больших пальцев. Я должен сначала поместить изображение по умолчанию в другое место? im, использующий изображения, как правило, из моей версии: thumb и try thumb_path, но я не думаю, что это правильно .. – Sasha
@ По умолчанию изображение по умолчанию используется при запрошенном изображении. Например, вы удаляете small_thumb, а оператор carrierwave будет отображать small_thumb_default.png. Вы можете избежать использования изображений по умолчанию, если уверены, что все изображения будут всегда на месте. –
Хммм, его все еще не совсем работает. im, имеющий регистрационную форму регистрации, и когда пользователь подписывается, я хочу, чтобы изображение по умолчанию отображалось по крайней мере до тех пор, пока пользователь не изменит его. после того, как я зарегистрируюсь, я проверю свою базу данных, а мой столбец «image» по-прежнему равен нулю. если я вручную изменил свой профиль pic на изображение, тогда столбец «image» получит данные. есть ли способ в основном иметь данные «default.png» в столбце «изображение», когда пользователь сначала подписывается? – Sasha