好吧,我开始学习铁轨,到目前为止我真的关闭了自动生成多少并在我不知情的情况下发生在幕后。我为帖子生成了脚手架。它自动创建路由,允许我编辑和查看帖子(/ posts,/ posts /:id / edit,/ postts /:id / show3.etc)当我进入config / routes.rb时,我看到绝对没有提到这些路线。即使他们工作。这些路线在哪里?如果控制器的路由不在routes.rb中,我在哪里可以添加自定义路由?
答案 0 :(得分:1)
当您运行rails generate scaffold post
时,rails将生成模型,控制器,测试,路由,样式表等。
Rails告诉你它刚刚生成了哪些文件,你可以在终端中看到它。
在 routes.rb 中会有一行
resources:post ,这是控制器中生成的所有RESTful操作的简写。
您可以在 routes.rb 文件中声明自定义路由。即:
获取'my_path'=> 'my_controller#my_action'
一般来说,Rails可以为你做很多事情,你可以避免一遍又一遍地重复默认行为。但你也可以自己做大部分的事情,没有Rails魔法。
而不是使用支架,只需运行rails generate controller controller_name action1 action2 (..)
。你最终只会有一个控制器,没有自动视图,没有自动模型等。
或者您可以自己创建所有文件并注册组件。
Rails Guides是理解魔法的良好起点。