2

Rails3.2のf.select(..)関数の一部として変数(実際にはリスト)を表示し、選択した値がActiveRecordオブジェクトの別の属性に格納されるようにします。ActiveRecordがこれを保存しようとしないように、上記のList変数をActiveRecordで一時変数として宣言するにはどうすればよいですか。

4

2 に答える 2

2

次のように、独自の getter および setter メソッドをモデルに記述できます (attr_accessible に追加することを忘れないでください)。

def virtual_attr=(value)
  self.real_attr = value
end

def virtual_attr
  self.real_attr
end

または、次のように実際の属性のエイリアスを作成します。

alias_attribute :virtual_attr, :real_attr
于 2012-11-04T15:28:16.020 に答える