我在这里关注入门教程:
http://guides.rubyonrails.org/getting_started.html
我发现路线很混乱:
我们仍然需要一种方法来列出我们的所有帖子,所以让我们这样做。我们将使用config / routes.rb中的特定路由:
posts GET /posts(.:format) posts#index
将此添加到我的routes.rb文件时,我遇到错误
的SyntaxError /Users/example/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'^
当我完全省略这一行时,一切正常......
所以...为什么我需要那条线,有人可以向我解释它的结构吗?
答案 0 :(得分:3)
这不是你必须添加到config / routes.rb的一行。此行来自运行以下命令:rake routes
。该行表示控制器index
中的操作posts
负责处理路径/posts
。本指南的下一步是创建所述操作。在控制器和视图中,您可以使用posts_path
重定向到此特定路径或链接到该路径。希望这会有所帮助。
答案 1 :(得分: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中非常复杂,所以现在不要太过于不堪重负。现在,坚持非常基础。
如果您要在路线文件中添加Create
,Read
,Update, and
删除a record, then you want to use the
资源`方法的路线,如上所示。这将自动为您创建8条路线。 Rails会自动将它与相应的控制器相关联,因此您必须确保正确命名。