我的目标只是在索引页面上显示两个可选的URL参数。
0.0.0.0:3000/comparison - > show:空比较索引页
0.0.0.0:3000/comparison/3 - >显示:
3
0.0.0.0:3000/comparison/3/4 - >显示:
3
4
我为“比较”
创建了一个控制器+视图rails generate controller comparison
我加了
match ':comparison/:index(/:a(/:b))'
到 routes.rb 并添加了一个显示两个参数的index.html.erb
<%= @a %>
<%= @b %>
我的控制器看起来像这样,只需将参数转发到视图
class ComparisonController < ApplicationController
def index
@a = params[:a]
@b = params[:a]
end
end
有了这个我收到路由错误,例如
Routing Error
No route matches [GET] "/comparison/3/4"
如何正确路由?
答案 0 :(得分:0)
尝试这条路线(假设Rails版本为3.x):
match 'comparison(/:a(/:b))' => "comparison#index"