Rails 3 & paperclip - путь для хранения изображений - PullRequest
1 голос
/ 18 октября 2011

Я пытаюсь настроить путь для хранения изображений с помощью плагина Paperclip.

В моей модели я установил путь как:

:path => ":rails_root/public/gallery/:user_id/:style/:basename.:extension",
:url => "/gallery/:user_id/:style/:basename.:extension"

Но изображения хранятся в каталогеназывается "/ user_id" , а не в каталог " 1 " (как идентификатор пользователя) - что я делаю не так?Я забыл что-нибудь важное?

РЕДАКТИРОВАТЬ - РЕШЕНИЕ:

Если у вас есть модель (например, photo), и вы хотите сохранить изображения в папке, котораяназываемый идентификатором другой модели (например, user), вы должны добавить к config/initializers файл paperclip.rb со следующим содержимым:

Paperclip::Attachment.interpolations[:user_id] = proc do |attachment, style|
  attachment.instance.user_id # or whatever you've named your User's login/username/etc. attribute
end

После того, как это обновление еще необходимо для перезапуска WEBRick.

PS - предположением является отношение между этими двумя моделями.

Спасибо

1 Ответ

1 голос
/ 26 марта 2013

Для этого существует новый синтаксис, если кому-то это нужно:

Paperclip.interpolates :user_id do |attachment, style|
    attachment.instance.user_id
end
...