我试图创建一条路线,允许任何带有" -review"在静态段:url_key。我正在使用的网址可能在静态网段中的子字符串-review之前或之后有任何文本。我已经看过只允许整数的例子,但我对正则表达式语法不是很熟悉,而且我不太清楚如何编写约束。这是我到目前为止所拥有的。
get '/:url_key', to: 'reviews#review', constraint: { url_key: "(anything before)-review(anything after)" }
答案 0 :(得分:1)
试试这个:
get '/:url_key', to: 'reviews#review', constraints: { url_key: /.*-review.*/ }
如果您想在-review部分之前确保至少一个字符,请改用此正则表达式:
/.+-review.*/