Связывание изображения скрепки по умолчанию из другой модели - PullRequest
2 голосов
/ 16 марта 2010

Вот код, это моя модель 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 в качестве флага Country? Мой закомментированный код показывает мою неудачную попытку, я думаю, что это в том же духе, но не то, что у меня есть!

1 Ответ

2 голосов
/ 28 апреля 2010

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

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

  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'
...