在轨道上的红宝石匹配的路线

时间:2014-04-03 14:58:10

标签: ruby-on-rails ruby

我是ruby on rails的新手。

任何人都可以在铁轨上解释红宝石的路线。

         example:
        match 'dash_bw' :to 'reports#dash_bw'

如何链接到控制器,请解释一下。 'report#dash_bw'这里我们编写在控制器中定义的类名,是否写入? 如果有错,请解释它如何链接到控制器和视图。 请不要介意我在学习,我自己请解释一下。 路由匹配的右侧是类名或目录名。 谢谢!

2 个答案:

答案 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方法。