select_list 当给定值不为空时应该
select_list should when the given value is not empty
我写了下面的代码
b.select_list(:id,'something').select(a['value']) unless a['value].empty?
现在我需要为许多 select select 框编写相同的代码,以避免 unless a['value'].empty?
我在 class SelectList
中包含了函数 selectIfnotempty?(item)
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>"
谁能告诉我为什么会这样?
您已将方法定义为 selectIfnotempty?
,但将其调用为 selectIfnotempty
(缺少问号)。
方法本身总是return一个布尔值(item.empty?
的结果)。我想你的意思是 return 早 只有 如果 item
是空的。
def selectIfnotempty?(item)
return if item.empty?
select item
end
吹毛求疵:在 ruby 中,惯例是使用 snake_case
作为方法名称。
我写了下面的代码
b.select_list(:id,'something').select(a['value']) unless a['value].empty?
现在我需要为许多 select select 框编写相同的代码,以避免 unless a['value'].empty?
我在 class SelectList
selectIfnotempty?(item)
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>"
谁能告诉我为什么会这样?
您已将方法定义为 selectIfnotempty?
,但将其调用为 selectIfnotempty
(缺少问号)。
方法本身总是return一个布尔值(item.empty?
的结果)。我想你的意思是 return 早 只有 如果 item
是空的。
def selectIfnotempty?(item)
return if item.empty?
select item
end
吹毛求疵:在 ruby 中,惯例是使用 snake_case
作为方法名称。