我是新来红宝石的轨道上。路线匹配在轨道上的红宝石
任何人都可以请解释关于在轨道上的红宝石路线。
example:
match 'dash_bw' :to 'reports#dash_bw'
如何链接到控制器,可以请解释。 'report#dash_bw'
这里我们写控制器中定义的类名,是写吗? 如果错了,请解释它如何链接到控制器和视图。 请不要介意我在学习,我自己请解释一下。 路由匹配的右侧是类名或目录名。 谢谢!
我是新来红宝石的轨道上。路线匹配在轨道上的红宝石
任何人都可以请解释关于在轨道上的红宝石路线。
example:
match 'dash_bw' :to 'reports#dash_bw'
如何链接到控制器,可以请解释。 'report#dash_bw'
这里我们写控制器中定义的类名,是写吗? 如果错了,请解释它如何链接到控制器和视图。 请不要介意我在学习,我自己请解释一下。 路由匹配的右侧是类名或目录名。 谢谢!
首先,路线应该是这样的:
match 'dash_bw', to: 'reports#dash_bw', via: :get
这将创建一个像
dash_bw GET /dash_bw(.:format) reports#dash_bw
的路线可以通过运行rake routes
命令查看路由信息。
当您在浏览器它将调用dash_bw
行动在ReportsController
(因为报告#dash_bw)访问http://yourdomain.com/dash_bw
。
此外,您还可以使用新的方式来定义的路径为:
get 'dash_bw', to: 'reports#dash_bw', as: :dash_bw
在这里,我们写在控制器定义的类名,是它写的?
为了回答上述问题,你指定类名控制器,但不是完整的名字就在Controller
前的前缀部分。
例如:如果你的控制器名称为ReportsController
那么你在to:
选项即to: reports#dash_bw
部分指定reports
(小写)。请注意,dash_bw
是您的action
名称。
'reports#dash_bw'
指报告控制器,dash_bw操作。因此,当浏览器访问该路由结束意外事件发生在dash_bw方法被调用
class ReportsController...
def dash_bw
... code here
end
end
:
你必须有这样的控制器。
谢谢你,夫人 – user3382880
很高兴帮助。请通过查看我答案旁边的复选标记来接受答案。 :) –