TrueClass Rails的未定义方法ID

che*_*ell 1 rspec ruby-on-rails-3

  def can_save(board,role)
    if ar_user = already_registered?(email) || user = self.save
      Participant.make(ar_user||user, board, role)
    end
    user
  end
Run Code Online (Sandbox Code Playgroud)

我对它做了这个rspec测试:

it "should return the user if the user is not already registered" do
     lambda do
      user = @new_user.can_save(@board, "Manager")
    end.should change(User,:count).by(1)
   end
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

  undefined method `id' for true:TrueClass
Run Code Online (Sandbox Code Playgroud)

这是为什么?

Dmi*_*mov 8

save 方法返回true或false,而不是保存的对象实例.