0

我想请 Ruby 专家解释一下。

我不能使用类似的东西"foo-bar": true,但是foobar: true可以。有没有人注意到这一点?

这有效:

在新的 Ruby 语法中,我们可以替换这个哈希火箭:

<%= f.submit "Save", :class => "btn" %>
                     ^-------------^

有了这个

<%= f.submit "Save", class: "btn" %>
                     ^----------^

这不会:

现在,带有两个单词的符号怎么样?这不起作用 - 语法错误!

<%= f.submit "Save", "data-disable-with": "Saving..." %>
                     ^------------------------------^
4

2 回答 2

4

JSON 样式Hash语法适用Hash于键为 s 的 es,Symbol它们是有效的 Ruby 标识符。您的键既不是 a Symbol(它是 a String)也不是有效的 Ruby 标识符(Ruby 标识符不能包含连字符,因为这会与二进制中缀-运算符产生歧义:是a-b表示标识符a-b还是表示“减去baa.-(b)?)

于 2013-11-06T21:03:02.147 回答
-1

您正在尝试将密钥设置为字符串而不是符号。

于 2013-11-06T20:52:25.343 回答