select_list应该在给定值不为空时

时间:2015-01-06 07:48:15

标签: ruby watir

我写了以下代码

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>"

任何人都可以澄清为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

您已将方法定义为selectIfnotempty?,但将其称为selectIfnotempty(缺少问号)。

方法本身将始终返回一个布尔值(item.empty?的结果)。如果item为空,我认为您打算早点返回

def selectIfnotempty?(item)
    return if item.empty?
    select item
end

Nitpick:在ruby中,惯例是使用snake_case作为方法名称。