URL参数的基本路由

时间:2011-11-20 09:29:29

标签: ruby-on-rails ruby

我的目标只是在索引页面上显示两个可选的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"

如何正确路由?

1 个答案:

答案 0 :(得分:0)

尝试这条路线(假设Rails版本为3.x):

match 'comparison(/:a(/:b))' => "comparison#index"