オブジェクトの属性を参照できるかどうか疑問に思っています。
オブジェクト User は attributefirst_name
を持っているので、通常、名の属性を更新したい場合は次のようにします:
user0 = User.new()
user0.update_attribute(:first_name, "joe")
今私の質問は、次の:first_name
ように別の変数/シンボルを介して属性を更新できるかということです:
user0.update_attribute(:fname_ref, "jack")
user0.first_name #=> has the value jack
Perl のように変数参照を探していましたが、Ruby では何も見つかりませんでした。
- - - - - 編集
私は lynda ruby on rails チュートリアルを行っている最中であり、テーブル内のアイテムの位置を調整するモジュールを作成している最中です。残念ながら、最初に始めたとき、テーブルの列に別の名前を付けました
pages.page_position, subjects.subject_position, sections.section_position
現在、モジュール PositionMover は 3 つのモデルで使用されるため、モデルごとに属性名が異なるため、問題が発生しています。
だから私はモデルごとにポインタ/参照を作成するだけで大丈夫だと思った
:position = :pages_position , :position = :subjects_position , :position = :section_position
したがって、それが可能かどうかという質問です。
それが不可能な場合は、どうすればよいか提案してください。モジュールは、異なる属性名を持つ3つの異なるモデルで使用できます。
申し訳ありませんが、私は初心者です。