0

商品一覧(html表)があります。各行には製品名があり、「カートに追加」ボタンで終わります。Webrat からカートに 2 つの「コーヒー」と 3 つの「お茶」を追加するにはどうすればよいですか?

対応するhtml:

<tr class="odd">
      <td><img src="/images/menu_items_images/7/PICT0020_thumb.jpg" /></td>
      <td>cofee</td>
      <td>americano</td>
      <td>1.0</td>
      <td><form action="/cart/add_item/7" method="post" onsubmit="$.ajax({data:$.param($(this).serializeArray()) + '&amp;authenticity_token=' + encodeURIComponent('rDzsxOQSgwTT3rjUDROFGNz4hMs6BK0riGemVi+NHK4='), dataType:'script', type:'post', url:'/cart/add_item/7'}); return false;"><div style="margin:0;padding:0;display:inline"><input name="authenticity_token" type="hidden" value="rDzsxOQSgwTT3rjUDROFGNz4hMs6BK0riGemVi+NHK4=" /></div>            <input name="commit" type="submit" value="Add to cart" /></form></td>
</tr>
<tr class="even">
      <td><img src="/images/menu_items_images/6/PICT0053_thumb.JPG" /></td>
      <td>tea</td>
      <td>green</td>
      <td>2.0</td>
      <td><form action="/cart/add_item/6" method="post" onsubmit="$.ajax({data:$.param($(this).serializeArray()) + '&amp;authenticity_token=' + encodeURIComponent('rDzsxOQSgwTT3rjUDROFGNz4hMs6BK0riGemVi+NHK4='), dataType:'script', type:'post', url:'/cart/add_item/6'}); return false;"><div style="margin:0;padding:0;display:inline"><input name="authenticity_token" type="hidden" value="rDzsxOQSgwTT3rjUDROFGNz4hMs6BK0riGemVi+NHK4=" /></div>            <input name="commit" type="submit" value="Add to cart" /></form></td>
</tr>
4

2 に答える 2

0

カートに追加するボタンに id をid="add_item_6"指定すると、webrat を使用して必要なボタンをクリックできます。

When /^I press Add to cart for "([^\"]*)"$/ do |item|
  id = Item.find_by_name(item).id
  click_button('add_item_' + id.to_s)
end

次に、あなたのステップは

When I press Add to cart for "coffee"
于 2009-11-12T01:53:45.590 に答える
0

リンクに id を追加することは、実際にはセマンティック マークアップであり、良い習慣であると私は主張します。ただし、使用したくない場合は、position()述語を使用できると思います ( http://www.w3.org/TR/xpath/を参照) 。

于 2010-06-02T13:24:12.657 に答える