赤、黄、緑 (これよりも複雑) などのいくつかの属性のいずれかになるアイテムがあり、対応する is_red、is_yellow、is_green ブール値があります。
たとえば、渡す場所でこの値を変更するAPI関数が必要です。
id: 12
type: red
私の機能には次のものがあります:
item=Item.find(id)
if item.is_ + type == true
item.is_ + type=false
end
どうすればいいですか?
thx事前に
赤、黄、緑 (これよりも複雑) などのいくつかの属性のいずれかになるアイテムがあり、対応する is_red、is_yellow、is_green ブール値があります。
たとえば、渡す場所でこの値を変更するAPI関数が必要です。
id: 12
type: red
私の機能には次のものがあります:
item=Item.find(id)
if item.is_ + type == true
item.is_ + type=false
end
どうすればいいですか?
thx事前に
使用するsend
item = Item.find(id)
if item.send(:"is_#{type}") == true
item.send(:"is_#{type}=", false)
end
を使用せずにRubyで変数名を動的に構築することはできませんeval。これは汚いですが機能的です。
method_missingBlankSlate オブジェクトで を使用して、フリー テキスト メソッド呼び出しをキャプチャし、それらを大きなダーティ ケース ステートメントとして処理できます。
キーは動的に簡単に構成できるため、最も洗練されたソリューションはハッシュです。