1

新手问题在这里:

在这个测试中:

test "product is not valid without a unique title -il8n" do
      product = Product.new(title: products(:ruby).title),
      description: "yyy",
      price: 1,
      image_url: "fred.gif")
    end

为什么“fred.gif”后面有一个“)”(右括号)?没有左括号,所以我不明白它的逻辑。也找不到任何关于为什么的参考。

4

1 回答 1

2

对我来说看起来像一个错误,它不是有效的语法:

$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
$ ruby -c /tmp/test.rb
/tmp/test.rb:3: syntax error, unexpected tLABEL
      description: "yyy",
                  ^
/tmp/test.rb:3: syntax error, unexpected ',', expecting keyword_end
/tmp/test.rb:5: syntax error, unexpected ')', expecting keyword_end

我猜这条线

product = Product.new(title: products(:ruby).title),

应该读

product = Product.new(title: products(:ruby).title,

如此重新格式化,测试将如下所示:

test "product is not valid without a unique title -il8n" do
  product = Product.new(
    title: products(:ruby).title,
    description: "yyy",
    price: 1,
    image_url: "fred.gif"
  )
end

(尽管测试描述与行为不匹配;-))

于 2012-10-12T13:34:52.557 回答