Как "трогать" родительскую модель ассоциации `belongs_to` только при выполнении определенных условий?

Я использую Rails 3.1.0 и хотел бы "трогать" родительскую модель ассоциации belongs_to только при выполнении определенных условий.

Например, на данный момент у меня есть:

belongs_to :article,
  :touch => true

Я хотел бы "трогать" родительскую модель, только если она "публичная". То есть, класс Article имеет атрибут access (@article.access => public или private) и я хотел бы проверить это значение перед "касанием": если это значение not public, то "трогать" его!

Можно ли сделать это "напрямую" в утверждении ассоциации belongs_to? Если да, то как?

6
задан Backo 15 January 2012 в 15:48
поделиться