以下是其中一个网址的佣金路线输出
bug_info /bugs/:pr/:scope/info(.:format) {:controller=>"bugs", :action=>"info"}
如果我调用bug_info_path(:pr => 1,:scope => 2),在erb视图中,视图会给我一个错误说
没有路由匹配{:scope =>“2”,:action =>“info”,:controller =>“bugs”, :PR => “中1”}
我在这里做错了什么
match 'bugs/:pr/:scope/info' => 'bugs#info', :as=>:bug_info
答案 0 :(得分:1)
非常奇怪。我测试了生成一个新的rails应用程序并填充了你的东西,它似乎工作正常。这就是我得到的。 (这是使用Rails 3.0.7)。
配置/ route.rb
Railstest::Application.routes.draw do
match 'test' => 'bugs#test', :as=>:bug_test
match 'bugs/:pr/:scope/info' => 'bugs#info', :as=>:bug_info
end
应用程序/控制器/ bugs_controller.rb
class BugsController < ApplicationController
def test
end
def info
end
end
应用程序/视图/错误/ test.erb
<%= bug_info_path(:pr=>1,:scope=>2) %>
应用程序/视图/错误/ info.erb
<%= params %>
当我浏览/test
时,我得到了这个:
/错误/ 1/2 /信息
当我浏览/bugs/1/2/info
{“controller”=&gt;“错误”,“行动”=&gt;“信息”,“pr”=&gt;“1”,“范围”=&gt;“2”}
也许你可以尝试使用最小的rails应用程序然后添加内容直到我休息。