我有一個接受兩個參數的方法。其中之一是可選的。這些參數實際上是應該發送給對象的方法的名稱。如果在不使用條件的情況下錯過了第二個參數,如何避免獲得NoMethodError
?我可以發送一些什麼都不做的「空」方法嗎?在我的情況下,這工作得很好,但它看起來不太好。謝謝。在Rails中發送()可選參數的最佳方式
def foo param_1, parm_2='to_s'
object.public_send(param_1).public_send(param_2)
end
UPD 發送改爲public_send感謝@Surya
你在哪裏叫這個方法?它是什麼樣子的? –
'foo'是否會返回一個特定的值? – Stefan
你想發送'param_2'到'object'還是'object.send(param_1)'的返回值? – Stefan