gpt4 book ai didi

capybara ::未找到元素

转载 作者:行者123 更新时间:2023-12-03 03:11:31 26 4
gpt4 key购买 nike

我正在与 Rspec 书一起工作,因为它开发了一个“showtime”rails 应用程序,该应用程序提供有关电影的信息。据我所知,我已经准确地复制了代码(这本书不太擅长让读者知道要采取的每一步),但我收到了这个错误。

Unable to find select box "Release Year" (Capybara::ElementNotFound)
./features/step_definitions/movie_steps.rb:6:in `/^I create a movie Caddyshack in the Comedy genre$/'

我的 movie_steps.rb 文件有这段代码,它为用户提供了一个选择框来选择发行年份,这是 Capybara 找不到的元素。

#---
When /^I create a movie Caddyshack in the Comedy genre$/ do
visit movies_path
click_link "Add Movie"
fill_in "Title", :with => "Caddyshack"
select "1980", :from => "Release Year"
check "Comedy"
click_button "Save"
end

Then /^Caddyshack should be in the Comedy genre$/ do
visit genres_path
click_link "Comedy"
response.should contain("1 movie")
response.should contain("Caddyshack")
end

在电影 View 中,我有这段代码,据我所知,这是我实现选择框所需的全部内容。

<%= form_for @movie do |f| %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.label :release_year %>
<%= f.select :release_year, (1900..2009).to_a.map(&:to_s) %>
<% @genres.each do |genre| %>
<label>
<%=h genre.name %>
<%= check_box_tag "genres[]", genre.id %>
</label>
<% end %>
<%= f.submit "Save" %>
<% end %>

如果您能提供任何建议,我将不胜感激。

最佳答案

尝试选择“1980”,:from =>“发布年份”。如果您希望它显示为“发布年份”,请更改标签以显示如下:

f.label :release_year, "Release Year"

Rails 使用 humanize 自动为您设置标签格式方法,但您可以将其更改为您喜欢的任何内容。

关于 capybara ::未找到元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14473748/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com