Rspec 缺少必需的密钥失败:[:id]
Rspec fail missing required keys: [:id]
当我 运行 我的规范时,我得到以下信息。
为什么会这样?我只是想确保我正在执行 ProjectsController 中的显示操作。
规格
require 'spec_helper'
describe "Creating projects" do
it "can create a project" do
visit '/'
click_link 'New Project'
fill_in 'Name', with: 'TextMate2'
fill_in 'Description', with: 'A text-editor for OS X'
click_button 'Create Project'
expect(page).to have_content('Project has been created.')
project = Project.where(name: "TextMate 2").first
expect(page.current_url).to eql(project_url(project))
title = "TextMate 2 - Projects - Ticketee"
expect(page).to have_title(title)
end
控制器
def show
@project = Project.find(params[:id])
end
查看
<h2><%= @project.name %></h2>
更改此行
project = Project.where(name: "TextMate 2").first
到
project = Project.where(name: "TextMate2").first
您创建了 project
name
TextMate2 而不是 TextMate 2,所以project = Project.where(name: "TextMate 2").first
returnsnil
当我 运行 我的规范时,我得到以下信息。
为什么会这样?我只是想确保我正在执行 ProjectsController 中的显示操作。
规格
require 'spec_helper'
describe "Creating projects" do
it "can create a project" do
visit '/'
click_link 'New Project'
fill_in 'Name', with: 'TextMate2'
fill_in 'Description', with: 'A text-editor for OS X'
click_button 'Create Project'
expect(page).to have_content('Project has been created.')
project = Project.where(name: "TextMate 2").first
expect(page.current_url).to eql(project_url(project))
title = "TextMate 2 - Projects - Ticketee"
expect(page).to have_title(title)
end
控制器
def show
@project = Project.find(params[:id])
end
查看
<h2><%= @project.name %></h2>
更改此行
project = Project.where(name: "TextMate 2").first
到
project = Project.where(name: "TextMate2").first
您创建了 project
name
TextMate2 而不是 TextMate 2,所以project = Project.where(name: "TextMate 2").first
returnsnil