0

我是 Ruby on Rails 的新手,并尝试通过阅读Rails 3 in Action书籍以及查看不同的在线资源来学习该框架。但现在我在书中解释的内容、我在在线资源中看到的内容以及我在生成的代码中看到的内容中遇到了巨大的语法差异。例如,我想在routes.rb

书上说

match '/login',
:to => "accounts#login"

网上资源说:

map.login '/login', :controller => 'accounts', :action => 'login'

另一个在线资源说:

match '/login' => 'accounts#login', :as => 'login'

在我的情况下,只有最后一个有效......所以问题是为什么语法如此不同以及在哪里寻找最新的 Ruby on Rails 的语法解释?

4

2 回答 2

1

第一个例子很好,与第三个例子基本相同。它只是没有为您设置登录路径,例如在您的代码中,您将无法像在第三个示例中那样引用 login_path(:as => 'login' 告诉 rails 设置 login_path 帮助器) .

在线资源(第二个示例)适用于相当老的 Rails v.2.3.11 - 我们现在使用的是 v.3.2。因此该资源已过时。这是最新版本

于 2012-07-10T21:24:32.510 回答
0

首先,我推荐阅读Rails Routing from the Outside In,有非常实际的 rails 指南。

http://apidock.com是一个可以阅读大多数实际文档、用户评论和更改历史记录的好地方。

在这里你有匹配方法的广泛文档:http: //apidock.com/rails/v3.2.3/ActionDispatch/Routing/Mapper/Base/match

于 2012-07-10T21:26:40.203 回答