次のコードがあります。
@profile.update_attributes(params[:xxxx_profile])
ここで、xxxx は男性または女性を表します。基本的に、フォーム送信は一連のfemale_profile[foo]
またはのいずれかを渡し、male_profile[foo]
それに応じて変更したいと考えています。xxxx の代わりに挿入できる文字列があると仮定すると、このシンボルを動的に作成するにはどうすればよいですか?
ありがとう。
次のコードがあります。
@profile.update_attributes(params[:xxxx_profile])
ここで、xxxx は男性または女性を表します。基本的に、フォーム送信は一連のfemale_profile[foo]
またはのいずれかを渡し、male_profile[foo]
それに応じて変更したいと考えています。xxxx の代わりに挿入できる文字列があると仮定すると、このシンボルを動的に作成するにはどうすればよいですか?
ありがとう。
次のようなものを試してください:
@profile.update_attributes(params["#{gender}_profile".to_sym])
または、Rails はパラメーターに HashWithIndifferentAcceess を使用するため、シンボルに変換せずに文字列を渡すことができるはずです: http://api.rubyonrails.org/classes/HashWithIndifferentAccess.html
@profile.update_attributes(params["#{gender}_profile"])
理解した。誰かの役に立つかもしれないと思った。
@profile.update_attributes(params[(@sexstring + "_profile").to_sym])
あなたもできる
@profile.update_attributes(params[:"#{gender}_profile"])