2011-06-20 11 views
1

Rails newbieここに。 routes.rbについての質問

は、誰もが次のコード行の間に私に違いを説明していただけます。

match '/' => 'posts#index'  

match '/' => 'posts#index', :as => 'posts'  

私が求めている理由は、私は後者のコードを使用する場合、I新しい投稿を作成することはできません:|

答えて

3

後者は名前付きルートを作成しています。あなたのビューから呼び出すことができるヘルパーを作成します。この場合、posts_path & posts_urlです。

これは、あなたがposts#newまたはposts#createを定義していないときに、どのように新しい投稿を作成できるかわかりません。あなたのルートファイルにはこれ以上のものはありますか?また、要件であるかどうかはわかりませんが、:asオプションをシンボルとして渡す必要があります。したがって、:as => :postsです。

参考のため、コンソールからrake routesを実行して、アプリケーションで定義されているすべてのルートのリストを参照できます。どのように名前が付けられているのかがわかります。右の列には_pathまたは_urlを追加できます。