2013-06-30 37 views
0

我使用M.哈特爾的教程來創建我的應用程序,我用一些按鈕stucked。我想將this tests應用於我自己的按鈕,但我無法弄清楚如何適應這條線。水豚使用Xpath與I18n來找到一個按鈕

it { should have_xpath("//input[@value='Unfollow']") } 

要將這個按鈕:

<%= form_for(product, remote: true) do |f| %> 
    <div><%= f.hidden_field :sharable, value: nil %></div> 
    <%= f.submit t('button.product.sharable.undo'), class: "btn btn-info btn-small" %> 
<% end %> 

或者這個按鈕:

<%= form_for(current_user.future_ownerships.build(product_id: product.id), 
                remote: true) do |f| %> 
    <div><%= f.hidden_field :product_id %></div> 
    <%= f.submit t('button.ownership.create'), class: "btn btn-success btn-small" %> 
<% end %> 

我想是這樣的:

it { should have_xpath("//input[@value='t('button.ownership.create')']") } 

但正如餘噸我在句法上失敗:

Nokogiri::XML::XPath::SyntaxError: 
    Invalid predicate: //input[@value='t('button.ownership.create')'] 

你有什麼想法該怎麼做嗎?它甚至有可能嗎?

回答

0

你沒有執行t(...)函數(我猜這是一個Ruby函數,這是I18N),它可能不會導出到Nokogiri(無論如何也不會被調用)。

"//input[@value='" + t('button.ownership.create') + "']" 
相關問題