Ruby on rails 在rspec视图规范中使用assigns()

Ruby on rails 在rspec视图规范中使用assigns(),ruby-on-rails,rspec,Ruby On Rails,Rspec,在给出示例之后,我尝试对我的一个视图规范进行建模 从我的gem文件:gem'rspec rails',“~>3.0” # /app/spec/views/teams/index.html.haml_spec.rb RSpec.describe "teams/index", type: :view do before (:each) do assigns(:teams, [ FactoryGirl.create(:team, name: "Team 1"),

在给出示例之后,我尝试对我的一个视图规范进行建模

从我的gem文件:
gem'rspec rails',“~>3.0”

# /app/spec/views/teams/index.html.haml_spec.rb
RSpec.describe "teams/index", type: :view do

  before (:each) do
    assigns(:teams, [
      FactoryGirl.create(:team, name: "Team 1"),
      FactoryGirl.create(:team, name: "Team 2")
    ])
  end

  it "renders a list of teams" do
    render

    expect(rendered).to match /Team 1/
    expect(rendered).to match /Team 2/
  end
end
此规范不符合以下要求:

 1) teams/index renders a list of teams
     Failure/Error: assigns(:teams, [
     ArgumentError:
       wrong number of arguments (2 for 0..1)

我不理解失败。。。我正在做医生让我做的事。我遗漏了什么?

您应该使用分配,而不是分配

before (:each) do
  assign(:teams, [
    FactoryGirl.create(:team, name: "Team 1"),
    FactoryGirl.create(:team, name: "Team 2")
  ])
end

您应该使用分配代替分配

before (:each) do
  assign(:teams, [
    FactoryGirl.create(:team, name: "Team 1"),
    FactoryGirl.create(:team, name: "Team 2")
  ])
end

您应该使用分配代替分配

before (:each) do
  assign(:teams, [
    FactoryGirl.create(:team, name: "Team 1"),
    FactoryGirl.create(:team, name: "Team 2")
  ])
end

您应该使用分配代替分配

before (:each) do
  assign(:teams, [
    FactoryGirl.create(:team, name: "Team 1"),
    FactoryGirl.create(:team, name: "Team 2")
  ])
end