それぞれを個別に入力せずにリストしたい、非常によく似た多くのプロパティを持つ User モデルがあります。
したがって、ではなく:
"eye color: #{@user.his_eye_color}"
"hair color: #{@user.his_hair_color}"
"height: #{@user.his_height}"
"weight: #{@user.his_weight}"
...
"eye color: #{@user.her_eye_color}"
"hair color: #{@user.her_hair_color}"
"height: #{@user.her_height}"
"weight: #{@user.her_weight}"
...
ブロックか何かをしたいのですが (Proc? Lambda? それらが何であるかはまだわかりません...)
['eye color','hair color','height','weight',...].do |stat|
"#{stat}: #{@user.her_(stat.underscore)}"
end
['eye color','hair color','height','weight',...].do |stat|
"#{stat}: #{@user.his_(stat.underscore)}"
end
上に書いたことが神秘的で、魔法的で、完全に間違って@user.his_(stat.underscore)
いることはわかっていますが (その部分)、どうすればよいでしょうか? 基本的にモデルの属性を動的に呼び出す必要がありますが、これを行う方法がわかりません...
どんな助けでも本当に感謝します!