0

User モデルをテストしていますが、多くのエイリアスを持つことができます:

describe User do
  describe "alias associations" do

    before { @user.save }
    let!(:first_alias) do
      FactoryGirl.create(:alias, user: @user, created_at: 1.day.ago)
    end

    let!(:second_alias) do
      FactoryGirl.create(:alias, user: @user, created_at: 1.hour.ago)
    end

    it "User should have many aliases" do
      @user.aliases.should == [first_alias, second_alias]
    end

    it "should destroy associated aliases" do
      aliases = @user.aliases.dup
      @user.destroy
      aliases.should be_empty

      aliases.each do |aliases|
        Alias.find_by_id(alias.id).should be_nil
      end

    end
  end
end

私のRspecテストは私にループを投げています。Alias という名前のモデルがあり、次のエラーが表示されます。

 syntax error, unexpected keyword_alias, expecting ')' (SyntaxError)
        Alias.find_by_id(alias.id).should be_nil

私がそうするとき、alias.idそれは問題であると考えられます。

このエラーが発生するのはなぜですか? Alias をモデルとして使用しているからでしょうか? それを別のものに変更すると、テストが実行されます。

4

1 に答える 1

2

ここにはいくつかの問題があります。

  1. エイリアスは予約語なので使用しないでください
  2. aliases代わりにブロックに渡していますalias
于 2013-06-03T17:07:07.630 に答える