Использование скрепки в параметрах: URL - PullRequest
1 голос
/ 27 января 2012

У меня две модели: фотографии и свойства. Свойство has_many фотографии. При загрузке фотографии с помощью скрепки я хочу, чтобы структура каталогов была чем-то вроде properties / the_property_id /: id.: Style (конечно, второе: id здесь будет идентификатором изображения, так как это модель)

Фотография добавляется и редактируется с помощью модели свойств (accepts_nested_attributes_for). Итак, при просмотре страницы редактирования свойства мне нужен способ передачи идентификатора свойства (params [: id]) в модель фотографий, чтобы скрепка могла использовать что-то вроде: url => properties/params[:id]/:style/:id.:extension. (Свойства / 6 / малый / 2.jpg)

Ищете совета, как лучше всего это сделать ... Как бы вы справились с этой задачей?

1 Ответ

1 голос
/ 28 января 2012

Вам необходимо использовать интерполяцию скрепок (подробности см. https://github.com/thoughtbot/paperclip/wiki/Interpolations). Тогда вы можете получить что-то вроде этого:

Paperclip.interpolates :param_value do |attachment, style|
  attachment.instance.property.params[attachment.instance.id]
end

И используйте его в своей модели таким образом:

:url => properties/:param_value/:style/:id.:extension
...