我是ruby on rails的新手。我已经有了这些路线
namespace :swimming do resources :classschedules end
现在我向这个控制器添加了一个新动作
class Swimming::ClassschedulesController < ApplicationController
def date
@date = params[0]
end
end
如何为此新操作添加路线?
我想打电话给游泳/课程安排/日期/ 2013-03-07。它将是一个单独的元素,而2013-03-07是我想在此操作中使用的参数。
答案 0 :(得分:1)
如果您希望匹配/swimming/classcehdules/date/2012-12-03
这样的网址,请尝试:
namespace :swimming do
resources :classschedules do
get 'date/:date', :action => 'date', :as => :date, :on => :collection,
:constraints => { :date => /\d{4}-\d{2}-\d{2}/ }
end
end
额外的:constraint
是为了确保:date
param符合预期的格式。在您的操作中,您可以获取日期:
def date
@date = params[:date] # => "2012-12-03"
end
请查看http://guides.rubyonrails.org/routing.html了解有关路由的更多信息。
答案 1 :(得分:0)
namespace :swimming do
resources :classschedules do
get 'date', :on => :member # or collection
end
end
中的更多信息