2013-07-30 47 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来重定向到此特定路径或指向它的链接。希望这可以帮助。