ARI*_*ARI 10 routes ruby-on-rails-3
在rails 3.0之前,向控制器添加新操作很容易.
您只需foobar向控制器类(称为mycontroller)添加一个新方法.在该控制器的views文件夹中添加一个html文件,foobar.html.erb
然后,如果您将浏览器指向.../mycontroller/foobar一切正常的工作.
但是,在rails 3.0中,当我添加如上所述的新操作时,我收到以下错误:
没有路线匹配"/ mycontroller/foobar"
rails 3.0有什么变化?我究竟做错了什么?
Zab*_*bba 19
将此添加到routes.rb:
get 'mycontroller/foobar'
Run Code Online (Sandbox Code Playgroud)
这将使用HTTP GET 将URL路由http://mysite.com/foobar到foobar操作.
更多信息:
请注意,def foobar在控制器中定义a 不是严格的要求(除非您需要在foobar显示视图之前执行某些操作) - 但视图必须存在.换句话说,即使def foobar控制器中不存在方法,foobar.html.erb仍将呈现视图.
以下是Rails 3中路线的概述.
此外,如果您还不知道,可以列出您的应用知道使用的所有路线rake routes.因此,如果输出rake routes未列出到某个控制器/操作的路由,则将发生"无路由匹配"错误.