2013-07-30 71 views
0

Rails的「入門」我下面的入門此教程路線

http://guides.rubyonrails.org/getting_started.html

我發現線路相當混亂:

我們仍然需要一種方法來列出我們的所有帖子,所以讓我們這樣做。我們將使用一個特定的路線從配置/ routes.rb中:

posts GET /posts(.:format) posts#index

當添加這我的r​​outes.rb文件,我遇到一個錯誤

的SyntaxError /用戶/例如/ blog/config/routes.rb:12:語法錯誤,意外':',期待keyword_end #get'posts /:format'=>'posts#index'^ /Users/thoad/blog/config/routes.rb :12:語法錯誤,意外的tIDENTIFIER,期待keyword_end #get'posts /:format'=>'posts#index'^

當我只是省略了共線,一切正常......

所以...爲什麼我還需要這條線,並可能有人解釋它的結構給我好嗎?

回答

1

我必須說,在文檔的該位是有點誤導,但在文檔中跳回了幾步,5 Getting up and running,你會發現代碼

Blog::Application.routes.draw do 

    resources :posts 

    root to: "welcome#index" 
end 

這是你應該在你的routes.rb文件,並且它是負責生成您的問題中輸出的內容。

如果你把到您的routes.rb文件,然後在一個控制檯,運行rake routes你會得到輸出

posts GET /posts(.:format)   posts#index 
      POST /posts(.:format)   posts#create 
new_post GET /posts/new(.:format)  posts#new 
edit_post GET /posts/:id/edit(.:format) posts#edit 
    post GET /posts/:id(.:format)  posts#show 
      PATCH /posts/:id(.:format)  posts#update 
      PUT /posts/:id(.:format)  posts#update 
      DELETE /posts/:id(.:format)  posts#destroy 
    root  /      welcome#index 

注意,在輸出時,第一行是什麼,是你的問題。在Rails中,路由系統非常複雜,所以現在不要太擔心。現在,堅持非常基礎。

如果你想路由添加到CreateReadUpdate, and刪除a record, then you want to use the resources`方法在你的路由文件,如上圖所示。這會自動爲您創建8條路線。 Rails會自動將它與相應的控制器關聯起來,所以你必須確保你正確地命名。

+0

很好的解釋,非常感謝您花時間寫下它! – trh88

+0

沒問題,很高興幫助:) – PaReeOhNos

3

這不是你必須添加到config/routes.rb的行。該行來自運行以下命令:rake routes。該行意味着控制器posts中的動作index負責處理路徑/posts。指南的下一步是創建所述操作。在您的控制器和視圖中,您可以使用posts_path來重定向到此特定路徑或指向它的鏈接。希望這可以幫助。