我有一个以布尔值作为参数的方法。我知道最好避免使用布尔值。无论如何,就我而言,这是最有效的方式。
好吧,这里有一个方法:
def some_method(include_some_values = false)
#do some workcountries = []
if include_some_values
#do some additional work
end
#return value
end
呼叫 (haml)
= form_for @address do |f|
= f.select :fied1, MyModel.some_method(true) #it's okay
但是,如果我称它为
= f.select :fied1, MyModel.some_method true
或者
= f.select :fied1, MyModel.some_method :true
或者
= f.select :fied1, MyModel.some_method false
或者
= f.select :fied1, MyModel.some_method :false
那么它就行不通了。为什么?