我有一条看起来像这样的路线:
match '/', to: 'browse#city_companies', constraints: { subdomain: /[a-z\-]+-[a-z]{2}/ }, :via => [:get]
约束中使用的正则表达式/[a-z\-]+-[a-z]{2}/
将匹配例如:“birmingham-al”,但不匹配“南卡罗莱纳州”。这将是我试图实现的行为。
然而,铁路在“伯明翰”和“南卡罗来纳”都使用这条路线,这不是我想要的。我在这里做错了什么?
答案 0 :(得分:1)
你忘了使用字符串结尾:
/[a-z\-]+-[a-z]{2}\z/
或
/[a-z\-]+-[a-z]{2}$/
,路线可以是:
get '/', to: 'browse#city_companies', constraints: { subdomain: /[a-z\-]+-[a-z]{2}\z/ }