ruby-on-rails - Rails "unknown command"参数错误

标签 ruby-on-rails ruby railstutorial.org argument-error

我正在研究 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/

相关文章:

javascript - 自动完成不是 Rails 4 的功能

ruby - 如何在 Heroku 上修复 "sequel::DatabaseDisconnectError - Mysql::Error: MySQL server has gone away"

ruby-on-rails - 设计的自定义身份验证策略

ruby 。密码重置链接未重定向到表单 (Railstutorial.org)

ruby-on-rails - RSpec 测试销毁方法(Rails Tutorial 3.2 Ch. 9, Ex. 10)

ruby-on-rails-3 - 未找到 Rails 测试 - 未定义的局部变量或方法 "response"

ruby-on-rails - 从 Controller 传递变量以查看

ruby-on-rails - 调试 RoR 语法错误

ruby-on-rails - Rails 的 find_by_ 方法不应该返回一个空数组而不是 nil 吗?

ruby-on-rails - ruby,正则表达式从字符串中提取价格