web-dev-qa-db-ja.com

RailsのRuby)の文字列の値から変数名を作成するにはどうすればよいですか?

ビューで使用するコントローラーにインスタンス変数を作成したい:

foo = "bar"
instance_variable_set("#{foo}", "cornholio")

ビューで、@ barを使用して次のようにします。

@bar => "cornholio"

これによりエラーが発生します:'bar' is not allowed as an instance variable name

での作業Rails 3.1

28
B Seven

このinstance_variable_set("#{foo}", "cornholio")instance_variable_set("@#{foo}", "cornholio")を読み取る必要があります

この投稿 に基づいています。 Ruby 1.93;投稿は2009年のものです。

38
ScottJShea

Rubyでは、インスタンス変数名は常に@シジルで始まる必要があります。

7
Jörg W Mittag