Capybara::ElementNotFound 无法找到字段 "Title"

Capybara::ElementNotFound Unable to find Field "Title"

我想不通这里出了什么问题。我在网上搜索了几个小时,只发现有类似问题的人,我已经尝试了他们的解决方案,但我仍然遇到这个错误。我是 运行 一个测试,它告诉我它找不到元素标题,但我正在我的代码中查看它,我也在本地主机上看到它。当我在检查器中查看它时,它的字段名称为标题。 任何帮助将不胜感激。

我正在 new.html.erb

上渲染的 _form.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,如果你觉得有必要的话可以看看。

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