如何在布线级别验证 Rails 中的静态参数?

2024-03-24

我目前有以下宁静的网址:

/questions/2011/05/

我的提问路线是:

match 'questions/:year/:month/' => 'Questions#month'

如何在路线级别验证上述年份和月份参数,以便:

  1. 年和月是整数
  2. 最短/最长一年长度 = 4
  3. 最小/最大月份长度 = 2

在 django 中,我可以使用以下行执行上述操作:

url(r'^questions/(?P<year>\d{4})/(?P<month>\d{2})/$', 'questions.views.month'),

我正在浏览 Rails 指南并进行谷歌搜索,但在路由级别找不到相应的功能。上述内容是在控制器级别完成的吗?


您正在寻找匹配方法选项哈希的约束选项。

match 'questions/:year/:month/' => 'questions#month', :constraints => {:year => /\d{4}/, :month => /\d{2}/}

Guide http://edgeguides.rubyonrails.org/routing.html#segment-constraints | APIDock 文档 http://apidock.com/rails/ActionDispatch/Routing

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在布线级别验证 Rails 中的静态参数? 的相关文章

随机推荐

  • C# 中的转换/转换方法之间的区别

    有很多方法可以将对象转换 转换为另一个对象 这些方法之间有什么区别 如果没有区别 为什么有这么多方法来实现一件事 这不是对语言的伤害吗 假设对象 obj 到字符串 obj ToString obj as string string obj
  • 将 DockerHub IP 地址添加到白名单中

    我想知道 dockerhub 的 IP 地址 以便将它们添加到我的白名单中 我没有找到任何类型的文档 https help github com articles what ip addresses does github use that
  • 如何在具有多个时间序列的 GGPLOT 中插入图例

    我正在尝试在单个图表上绘制多个时间序列GGPLOT 数据集是一个数据框第一列的日期格式为日期 名为Time 以及其他列上的时间序列 名为V1 V2 等等 I tried gg1 ggplot geom line data PCA2 aes
  • Web 方法可以重载吗?

    我已经构建了一个常规的 NET asmx 服务 如何重载此服务中的 Web 方法 WS I Web 服务互操作性 不支持重载
  • window[] 和 eval() 之间的区别 - Javascript

    我一直在 javascript 中使用这两种方法 真的不知道有什么区别 谷歌搜索总是显示 窗口对象 或 在 javascript 中打开一个新窗口 的结果 因此找不到任何内容 eval v e window v e 有时 window 对我
  • 有关 .net Framework 4.7 中 ECDiffieHellmanCng 实现的秘密协议的问题吗?

    我有以下代码 var curve ECCurve NamedCurves nistP256 var ecdhSender ECDiffieHellman Create curve var ecdhReceiver ECDiffieHellm
  • 启用/禁用 Microsoft 虚拟 WiFi 微型端口

    我禁用了我的Microsoft Virtual WiFi Miniport网络适 配器来自Control Panel Network and Internet Network Connections 只需右键单击微型端口网卡并单击 禁用 它
  • 了解隐式声明的默认构造函数

    我试图了解编译器的默认构造函数是如何工作的 我做了这个例子 include
  • iOS/Android跨平台开发[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我已经尝试用 Java 开发 Android 应用程序有一段时间了 并且开始掌握它 然而 如果我想开始使用 iOS 版本 我需要从头开始编
  • 如何理解clojure的lazy-seq

    我正在尝试理解 Clojurelazy seq运算符 以及惰性求值的一般概念 我知道这个概念背后的基本思想 表达式的求值被延迟 直到需要该值为止 一般来说 这可以通过两种方式实现 在编译时使用宏或特殊形式 在运行时使用 lambda 函数
  • 从 Com Interop Assembly 中查找 COM DLL 路径

    我正在尝试围绕旧版 COM 对象编写一个包装器 并将该包装器安装到 GAC 中 目标是自动设置组件所需的特定配置信息 并为我的所有应用程序使用一个通用的强类型接口 到目前为止 我的解决方案是将 XML 配置文件保留在与原始 COM DLL
  • 计算差异考虑到我们有两个不同的时间和日期字符串,两次之间

    我将时间数据分为两个字符串 一个字符串表示日期 另一个字符串表示时间 我想计算差异 在Java中这样的两次 e g 时间 1 26 02 2011 和 11 00 AM 时间 2 27 02 2011 和 12 15 AM 相差大约 13
  • Java:从字符串中删除数值

    在该社区的帮助下 我成功地从用户输入中删除了数字值 但是 下面的代码将仅检索已删除的数字之前的字母字符 import java util Scanner public class Assignment2 A public static vo
  • Android:更改默认家庭应用程序

    对于某些特定要求 我需要更改 Android 默认主页应用程序 使用我的自定义主页应用程序 我的应用程序内的一个设置 将切换默认主页 我的应用程序或以前的主页 我不希望用户进行非常复杂的 Android 设置 任何人都可以帮我解决一下它在哪
  • 在哪里可以初始化模块范围的变量?

    我正在尝试做这样的事情 angular module MyModule ui config function rootScope rootScope Gender M Male F Female U Unknown 但我收到这个错误 未捕获
  • Bash 中的 [ 和 [[ 有什么区别? [复制]

    这个问题在这里已经有答案了 我查看了 bash 手册页和 说它使用条件表达式 然后我查看了条件表达式部分 它列出了与test and 所以我想知道 有什么区别 and 在巴什 bash 的改进是 命令 它具有多项增强功能 如果您编写针对 b
  • 使用 Android 格式化字符串时间戳

    出于某种原因 这让我抓狂了 我在 Android 中有一个 UNIX 时间戳作为字符串 我想要做的就是对其进行格式化 以便它返回用户的 droid 时区中的日期 时间 我可以将其转换为时间戳 但它使用 GMT 而不是其本地化区域 Thank
  • 如何一次性将排序规则更改为utf8_bin

    我已将所有数据库表的排序规则设置为latin1 swedish ci现在我意识到我应该使用utf8 bin or utf8 general ci 如何将表中的排序规则更改为utf8 bin or utf8 general ci一气呵成 我可
  • 谷歌地图自动完成、带有边界框的严格边界和自定义 UI

    我有一个输入 我想用作谷歌地图自动完成搜索 但具有一些自定义 UI 制作标准自动完成小部件 https developers google com maps documentation javascript reference Autoco
  • 如何在布线级别验证 Rails 中的静态参数?

    我目前有以下宁静的网址 questions 2011 05 我的提问路线是 match questions year month gt Questions month 如何在路线级别验证上述年份和月份参数 以便 年和月是整数 最短 最长一年