0

私はRubyonRailsを初めて使用し、 Rails 3 in Actionの本を読んだり、さまざまなオンラインリソースを調べたりして、フレームワークを学ぼうとしています。しかし今、私は本が説明しているもの、オンラインリソースで見ているもの、生成されたコードで見ているものの劇的な構文の違いに苦しんでいます。たとえば、カスタムルートをで設定したいroutes.rb

本は言う

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

オンラインリソースによると:

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

別のオンラインリソースによると:

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

私の場合、最後の1つだけが機能します...それで、問題は、なぜ構文がそれほど異なるのか、そして最新のRubyonRailsの構文の説明をどこで探すのかということです。

4

2 に答える 2

1

最初の例は問題なく、基本的に3番目の例と同じです。ログインパスが設定されていないだけです。たとえば、コードでは、3番目の例のようにlogin_pathを参照できません(:as =>'login'は、railsにlogin_pathヘルパーを設定するように指示します) 。

オンラインリソース(2番目の例)は、かなり古いRailsv.2.3.11用です。現在v.3.2を使用しています。そのため、リソースは古くなっています。これが最新バージョンです。

于 2012-07-10T21:24:32.510 に答える
0

まず、外部からのRailsルーティングを読むことをお勧めします。実際のRailsガイドがあります。

http://apidock.comは、ほとんどの実際のドキュメント、ユーザーのコメント、および変更履歴を読むことができる良い場所です。

ここに、一致方法の幅広いドキュメントがあります:http: //apidock.com/rails/v3.2.3/ActionDispatch/Routing/Mapper/Base/match

于 2012-07-10T21:26:40.203 に答える