我正在研究 Michael Hartl Rails 教程。运行测试时,出现以下错误:
Error:
UserTest#test_associated_microposts_should_be_destroyed:
ArgumentError: unknown command 'a'
test/models/user_test.rb:73:in 'test'
test/models/user_test.rb:73: in 'block in <class:UserTest>'
“test/models/user_test.rb”如下:
test "associated microposts should be destroyed" do
@user.save
@user.microposts.create!(content: "Lorem ipsum")
assert_difference 'Micropost.count', -1 do
@user.destroy
end
测试很简单,仅旨在测试我的模型中的以下行(user.rb)
has_many :microposts, dependent: :destroy
如果我将这句话注释如下:
has_many :microposts#, dependent: :destroy
正如预期的那样,我得到了
Failure: [...] "Micropost.count" didn't change by -1. Expected:38 Actual 39.
如果我取消注释“dependent: :destroy”语句,则会收到此“未知命令”错误。任何人都可以提供一些关于如何最有可能生成此错误的指导,什么是 Rails 上下文中的“命令”(不包括 Rails 控制台)以及首先在哪里尝试解决它(模型? Controller ?)。谢谢。
最佳答案
您的assert_difference调用中有一个拼写错误。
assert_difference 'Micropost.count" ...
注意开头的单引号和结尾的双引号。
关于ruby-on-rails - Rails "unknown command"参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29595548/