Capybara :: ElementNotFound无法找到Field" Title"

时间:2016-04-27 18:45:45

标签: capybara ruby-on-rails-5

我无法弄清楚这里有什么问题。我已经搜索了几个小时的互联网,只找到了有类似问题的人,我已经尝试了他们的解决方案,但我仍然遇到这个错误。我正在运行一个测试,它告诉我它找不到元素标题,但我在我的代码中查看它,我也在本地主机上看到它。当我在检查器中查看它时,它的字段名称为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

1 个答案:

答案 0 :(得分:0)

通过在f​​ill_in调用之前查看login_as(@kyle),您可以看到您的用户未登录。这是因为您正在调用login_as(@kyle, scope: :admin),其默认范围为:user,但是您正尝试登录管理员。你想要{{1}}