2014-04-03 53 views
0

我是新来红宝石的轨道上。路线匹配在轨道上的红宝石

任何人都可以请解释关于在轨道上的红宝石路线。

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

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

回答

5

首先,路线应该是这样的:

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名称。

+0

谢谢你,夫人 – user3382880

+0

很高兴帮助。请通过查看我答案旁边的复选标记来接受答案。 :) –

0
'reports#dash_bw' 

指报告控制器,dash_bw操作。因此,当浏览器访问该路由结束意外事件发生在dash_bw方法被调用

class ReportsController... 

    def dash_bw 
    ... code here 
    end 
end 

你必须有这样的控制器。