gpt4 book ai didi

ruby-on-rails - Ruby (rails) 构造函数调用给出语法错误

转载 作者:太空宇宙 更新时间:2023-11-03 17:37:41 24 4
gpt4 key购买 nike

我正在通过 Sam Ruby 的“使用 Rails 进行敏捷 Web 开发”一书学习 Rails 开发,并且在调用模型的构造函数时遇到语法错误。我找到了两种使用替代语法调用构造函数的方法,但我真的很想知道为什么书中使用的语法在我的开发环境中不起作用。

这本书使用的语法中键/值对被括号包围,类似于这样:

product = Product.new (title: "foo", description: "yyy")

此代码处于单元测试中。当我运行“rake test:units”时,出现以下错误:

product = Product.new (title: "foo", description: "yyy")

_____________________________^

ruby_book_demo/depot/test/unit/product_test.rb:16: 语法错误,意外的 tLABEL

请注意,我已经能够通过执行以下操作来解决语法错误:

product = Product.new title: "foo", description: "yyy" #WORKS

product = Product.new ({title: "foo", description: "yyy"}) # WORKS!

但我真的很想知道为什么会出现错误。我正在使用 jruby:

jruby -vjruby 1.6.7.2 (ruby-1.9.2-p312) (2012-05-01 26e08ba)

谢谢。

最佳答案

Product.new 和括号之间不能有空格:

Product.new(title: 'foo', description: 'bar')

它在没有括号的情况下工作的原因是因为它们是可选的并且在这种情况下需要一个空格。

关于ruby-on-rails - Ruby (rails) 构造函数调用给出语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11565259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com