【发布时间】:2011-11-20 09:29:29
【问题描述】:
我的目的只是在索引页面上显示两个可选的 URL 参数。
0.0.0.0:3000/comparison --> 显示:空比较索引页
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"
如何获得正确的路由?
【问题讨论】:
-
现在真的是
match ':comparison/:index(/:a(/:b))'而不是match 'comparison/:index(/:a(/:b))'吗? -
我改了。现在我收到错误“ArgumentError: missing :controller”
-
试试这个 -> 通过查询字符串 stackoverflow.com/questions/6413077/… 来获取多个 ids
标签: ruby-on-rails ruby