【发布时间】:2014-12-08 20:42:27
【问题描述】:
我仍在努力掌握 Rails(对不起那些我尚未接受答案的人。我认为你是对的,但我还没有理解你的答案)。
我认为我的问题是我不知道如何判断用户单击页面元素时将“触发”哪个路由。
我了解路由如何映射到路径,以及路径(取决于 http 动词)如何指向不同的控制器和操作。
我不明白是什么决定了调用哪个 ROUTE。
具体来说,在我的项目中,我试图展示一组测验问题。当用户点击提交按钮时,哪部分代码决定触发哪个路由? (我不是指路径——我知道它映射在 config/routes.db 中——我想知道触发了哪个 ROUTE)。
我知道这似乎是一个普遍的问题,但不理解这一点会直接影响我推进我正在开发的 Rails 项目的能力。
谁能告诉我是什么决定了发送到 Rails 的 ROUTE?是当前页面正在处理的对象类型还是资源?我就是说不出来。我认为有一些基本的东西我没有“得到”,但我不知道那是什么。
我一直在阅读 Hartl 的书和“Rails 入门”指南,但我还没有找到可以为我阐明这一点的解释。
【问题讨论】:
-
路由是从路径到控制器/动作的映射。
-
一般
ActionDispatch::Routing::RouteSet是一个执行调度的机架应用程序,它的文档没有很好,但你仍然可以看看源代码。 -
我想我问的问题一定不对。我想知道当我单击表单的提交按钮时触发了哪个路由,我如何确定?我正在为表单使用设计,所以它是内部的吗?
标签: ruby-on-rails ruby routes