在Rails 3.1,我想用一個創建一個接受參數數據的方法來創建一個嵌入的對象,但我想知道如果有一個更優雅的方式來做到這一點比下面的案例教學法:在Ruby中,除了'case - when'之外,還有其他更優雅的方法來調用方法嗎?
def method_call(obj,data)
case obj
when 'a' then User.create_a(data)
when 'b' then User.create_b(data)
when 'c' then User.create_c(data)
end
end
我真的想這樣做以下,但是這會導致因爲我傳遞數據的錯誤:
def method_call(obj,data)
User.send("create_#{obj}")(data)
end
有什麼建議?提前致謝。
這不是'send'的語法。 'send'接受一個方法名稱,然後是它的參數。 – Linuxios 2011-12-21 19:09:57