我是红宝石的新手,但我正在使用watir-webdriver进行实验。我试图找出如何将哈希值传递给类似的方法:
#this is a hash in ruby - a collection of keys and values
title = { :Mr => "Mr", :Mrs => "Mrs", :Miss => "Miss", :Ms => "Ms", :Other = > "Other"}
def select_title(title)
@browser.element(:xpath => "//input[@type='radio'][@value='Value of title hash']").click
end
我不想在方法中写一个if if else或switch逻辑,只是将hash的值直接传递给xpath?如何?
答案 0 :(得分:1)
如果我正确理解了这个问题,请转到:
def select_title(title_hash_key)
@browser.element(:xpath => "//...[@value='#{title[title_hash_key]}']")
.click
end
现在,当散列键作为参数传递给此方法时,将使用字符串插值(xpath
将相应的值从散列中提取并放入#{title[title_hash_key]}
字符串。)