【发布时间】:2013-01-30 01:57:14
【问题描述】:
我有一个带有可变数量参数的操作方法,如下所示:
action!(:message => message, :photo => photo, :status => status)
如果包含一个参数,它必须是有效的(基于某些标准),所以这样的事情不会起作用:
action!(:message => nil, :photo => nil, :status => nil)
考虑到这一点,我希望能够仅包含有效的参数。我天真地知道我可以这样做:
if message.valid? && photo.valid? && status.valid?
action!(:message => message, :photo => photo, :status => status)
elsif message.valid? && photo.valid?
action!(:message => message, :photo => photo)
...
end
虽然这行得通,但它确实丑陋且效率低下。有没有更好的方法来为此调用构建正确的参数集?
【问题讨论】:
-
它没有采用可变数量的参数。它只接受一个参数。
-
知道了。我希望你能理解一个逗号分隔的列表如何看起来像一个菜鸟的多个参数。我正在学习。
标签: ruby-on-rails ruby methods