我无法弄清楚这里有什么问题。我已经搜索了几个小时的互联网,只找到了有类似问题的人,我已经尝试了他们的解决方案,但我仍然遇到这个错误。我正在运行一个测试,它告诉我它找不到元素标题,但我在我的代码中查看它,我也在本地主机上看到它。当我在检查器中查看它时,它的字段名称为Title。 任何帮助将不胜感激。
我的_form.html.erb,我在new.html.erb
上呈现 <div class='form-group'>
<div class='control-label col-md-1'>
<%= f.label :title %>
</div>
<div class='col-md-11'>
<%= f.text_field :title, class: 'form-control', placeholder: 'Title of movie', autofocus: true %>
</div>
我的控制器
def create
@movie = current_admin.movies.build(movie_params)
if @movie.save
flash[:success] = "Movie has been created"
redirect_to root_path
else
flash.now[:danger] = "Movie has not been created"
render :new
end
end
我的功能规范
fill_in "Title", with: "Movie title"
fill_in "Synopsis", with: "Lorem Ipsum"
fill_in "Year released", with: "Date"
click_button "Add Movie”
我的错误
Capybara::ElementNotFound
Unable to find field “Title”
如果您认为有必要,可以使用GitHub。
答案 0 :(得分:0)
通过在fill_in调用之前查看login_as(@kyle)
,您可以看到您的用户未登录。这是因为您正在调用login_as(@kyle, scope: :admin)
,其默认范围为:user,但是您正尝试登录管理员。你想要{{1}}