Связывание изображения скрепки по умолчанию с другой моделью

Вот некоторый код, это моя модель NewsItem, как вы можете видеть...

class NewsItem < ActiveRecord::Base
  belongs_to :country
  has_attached_file :image, :styles => { :original => '57x57' }, :default_url => '/images/football.png'

  #   has_attached_file :image, 
  #                     :styles => { :original => '57x57' }, 
  #                     :default_url => self.country.flag.url

  validates_attachment_content_type :image, :content_type => ['image/png'], :message => "only pngs are allowed."
  validates_presence_of :title
  validates_length_of :title, :within => 3..50
  validates_presence_of :url
end

У меня также есть модель Country, которая имеет флаг (изображение, прикрепленное скрепкой) ... Что я хотел бы сделать, так это сделать изображение по умолчанию для NewsItem флагом страны? Мой закомментированный код показывает мою неудачную попытку, я считаю, что это похоже на то, что у меня есть, но не то, что у меня есть!


person user294940    schedule 16.03.2010    source источник


Ответы (1)


Параметры URL/пути Paperclip допускают интерполяции.

Таким образом, use может определять свои собственные, например:

  Paperclip.interpolates :country_flag_url do |attachment,style|
    attachment.instance.country.flag.url
  end

  has_attached_file :image, :styles => { :original => '57x57' }, :default_url => ':country_flag_url'
person Voyta    schedule 27.04.2010