Можете ли вы изменить несколько свойств с помощью помощника? - PullRequest
0 голосов
/ 13 июля 2011

Я использую следующий помощник выбора:

f.select(:page_color, Orders::PAYMENT_TYPES ,:prompt => "Select a Box")

возможно ли изменить несколько столбцов одним выделением? Скажем, я хочу изменить: page_color и: pay_method с выбором «Check». Возможно ли это?

     PAYMENT_TYPES = [
    #  Displayed       stored in db
    [ "Check",          "check" ],
    [ "Credit card",    "cc" ],
    [ "Purchase order", "po" ]
  ]

1 Ответ

0 голосов
/ 13 июля 2011

Я думаю, что самое чистое - написать виртуальный атрибут:

def paymethod=(value)
  mapping = {
    'check' => 'red',
    'cc' => 'green',
    ...
  }

  self.page_color = mapping(value)
  super
end
...