错误消息告诉您Deviate定义了一个名为
authenticate_user!
,它接受一个参数。您正在重写该方法,但您的方法不接受任何参数。在某个时候,Deave会发出呼吁
authenticate_user!(some_arg_here)
,因此您可以得到错误解释:
Called with one arg...
|
V
wrong number of arguments (given 1, expected 0)
^
|
...but the method def expects 0 args
下面是一个简单的错误示例:
class Dog
def bark
puts "wuff"
end
end
Dog.new.bark(3)
--output:--
1.rb:2:in `bark': wrong number of arguments
(given 1, expected 0) (ArgumentError)
修复方法如下:
class Dog
def bark(repeat)
puts (["wuff"]*repeat).join(", ")
end
end
Dog.new.bark(3)
--output:--
wuff, wuff, wuff
因此,您需要定义
authenticate\u用户!
方法,以便它只接受一个参数。如果你不在乎这个论点,那就说出它的名字
trash
.