我写了以下代码
b.select_list(:id,'something').select(a['value']) unless a['value].empty?
现在我需要为许多选择框选择相同的代码,以避免unless a['value'].empty?
我在课程selectIfnotempty?(item)
SelectList
函数
def selectIfnotempty?(item)
return item.empty?
select item
end
def select(item)
matching_options = []
perform_action do
matching_options =
...
...
...
end
但它会通过说
引发错误"undefined method `selectIfnotempty' for #<Watir::SelectList:0x132d2438>"
任何人都可以澄清为什么会这样吗?
答案 0 :(得分:1)
您已将方法定义为selectIfnotempty?
,但将其称为selectIfnotempty
(缺少问号)。
方法本身将始终返回一个布尔值(item.empty?
的结果)。如果item
为空,我认为您打算早点返回。
def selectIfnotempty?(item)
return if item.empty?
select item
end
Nitpick:在ruby中,惯例是使用snake_case
作为方法名称。