在Rails 4中使用符号时感到困惑

时间:2014-04-17 22:28:05

标签: ruby-on-rails ruby ruby-on-rails-4

当我从Ruby过渡到Ruby on Rails时,有一件事在使用符号时我不明白。例如,我有一个表单,在第一行中有一个表单助手,里面有两个参数。

<%= form_for :article, url: articles_path do |f| %>

我解释这个的方式是它们代表键和键/值对。但是为什么使用符号的两种变体(:article,url :)而不仅仅是一种?或者第二个参数不是符号并且代表Rails框架中的其他内容?分号让我失望。

1 个答案:

答案 0 :(得分:2)

这不是Rails的事情。你正在调用一个带有两个参数的方法;第一个参数是一个符号,第二个参数是一个哈希。您看到的语法只是在较新版本的Ruby中使用符号键编写哈希的简便方法。你也可以这样写,也许它会让它更清晰:

<%= form_for(:article, {:url => articles_path}) do |f| %>