我正在尝试让webrat从列表中选择一个单选按钮,使用黄瓜。
我有这种情况:
Scenario: Update an existing article
Given I have an article with title Big Bananas and body text Big yellow bananas are good for you
And I am on the list of articles
When I choose "Big Bananas"
And press "Update article"
And I fill in "Title" with "Massive Bananas"
And I press "Save"
Then I should have an article titled Massive Bananas
And I should not have an article titled Big Bananas
我的观点包含:
.
.
<% @articles.each do |article| %>
<tr>
<td><%= radio_button_tag "article", article.title %></td>
<td><%= article.title %></td>
<td>
<%article.tags.each do |tag|%>
<div><%= tag.name %></div>
<%end%>
</td>
</tr>
<%end%>
.
.
问题是我需要我的单选按钮ID才能成为文章的标题,所以网络鼠标可以从我的黄瓜场景中取出它,此时我的项目输出看起来像:
<tr>
<td><input id="article_big_bananas" name="article" type="radio" value="Big Bananas" /></td>
<td>Big Bananas</td>
<td>
<div>fruit</div>
<div>yellow</div>
</td>
</tr>
我应该如何做到这一点?
答案 0 :(得分:1)
我现在解决了这个问题,但做的略有不同。我有一堆如果编辑链接,我将ID设置为Edit_ *,其中*是文章ID。然后我有一个黄瓜步骤,使用名称从数据库中检索文章ID,然后跟随ID Edit_ *的链接。这是我更新的代码:
<强>功能强>
Scenario: Update an existing article
Given I have an article with title "Big Bananas" and body text "Big yellow bananas are good for you"
And I am on the list of articles
When I follow "Edit" for "Big Bananas"
And press "Update article"
And I fill in "Title" with "Massive Bananas"
And I press "Save"
Then I should have an article titled "Massive Bananas"
And I should not have an article titled "Big Bananas"
查看强>
<table>
<tr>
<th>Articles</th>
<th>Tags</th>
<td></td>
</tr>
<% @articles.each do |article| %>
<tr>
<td><%= article.title %></td>
<td>
<%article.tags.each do |tag|%>
<div><%= tag.name %></div>
<%end%>
</td>
<td><%= link_to "Edit", {:controller => "articles", :action => "edit", :id => article.id}, :id => "Edit_" + article.id.to_s %></td>
</tr>
<%end%>
</table>
<%= link_to "New article", :action => "new" %>
<% if flash[:notice] %>
<%= flash[:notice] %>
<% end %>
黄瓜步骤,点击正确的编辑链接
When /^I follow "([^\"]*)" for "([^\"]*)"$/ do |link, article_title|
article = Article.find_by_title article_title
click_link link + "_" + article.id.to_s
end
希望能帮助那些遇到同样问题的人。