我是ruby on rails的新手。
任何人都可以在铁轨上解释红宝石的路线。
example:
match 'dash_bw' :to 'reports#dash_bw'
如何链接到控制器,请解释一下。
'report#dash_bw'
这里我们编写在控制器中定义的类名,是否写入?
如果有错,请解释它如何链接到控制器和视图。
请不要介意我在学习,我自己请解释一下。
路由匹配的右侧是类名或目录名。
谢谢!
答案 0 :(得分:5)
首先,路线应如下:
match 'dash_bw', to: 'reports#dash_bw', via: :get
将创建类似
的路线dash_bw GET /dash_bw(.:format) reports#dash_bw
您可以通过运行rake routes
命令检查路由。
当您在浏览器中访问http://yourdomain.com/dash_bw
时,会在dash_bw
中调用ReportsController
操作(因为报告#dash_bw )。
此外,您还可以使用新方式将路线定义为:
get 'dash_bw', to: 'reports#dash_bw', as: :dash_bw
这里我们编写在控制器中定义的类名,是写吗?
要回答上述问题,请指定控制器的类名,而不是Controller
之前的前缀部分的完整名称。
例如:如果您的控制器名称为ReportsController
,则在reports
选项中指定to:
(小写),即to: reports#dash_bw
部分。请注意,dash_bw
是您的action
名称。
答案 1 :(得分:0)
'reports#dash_bw'
指Reports Controller,dash_bw Action。
您必须拥有如下控制器:
class ReportsController...
def dash_bw
... code here
end
end
因此,当浏览器点击该路由时,最终发生的事情是调用dash_bw方法。