首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >针对非资源操作的ruby on rails路由

针对非资源操作的ruby on rails路由
EN

Stack Overflow用户
提问于 2013-03-02 14:19:31
回答 2查看 608关注 0票数 0

我是ruby on rails的新手。我已经有这些路线了

代码语言:javascript
运行
复制
  namespace :swimming do resources :classschedules    end

现在,我向这个控制器添加了一个新操作

代码语言:javascript
运行
复制
class Swimming::ClassschedulesController < ApplicationController

  def date 
    @date = params[0]
  end
end

如何为此新操作添加路由?

我想打电话像游泳/课程表/日期/2013-03-07。它将是单个元素,2013-03-07是我希望在此操作中使用的参数。

EN

Stack Overflow用户

回答已采纳

发布于 2013-03-02 16:40:38

当你想要一个像/swimming/classcehdules/date/2012-12-03这样的url来匹配时,试试:

代码语言:javascript
运行
复制
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参数采用预期的形式。在您的操作中,您可以通过以下方式获取日期:

代码语言:javascript
运行
复制
def date
   @date = params[:date] # => "2012-12-03"
end

有关路由的更多信息,请查看http://guides.rubyonrails.org/routing.html

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15171458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档