我有一个关于 Rails 2.3 中全局路由上的正则表达式匹配的问题。这张票解释了我遇到的完全相同的问题: Rails routes with wildcard and requirements
问题是我无法让 :property_types 的正则表达式匹配除属性类型的第一个实例之外的任何内容,并且以某种方式破坏了 :location_b 上的匹配。
因此,仅当删除了 property_types 要求时,以下内容才有效:
/待售/美国/纽约/公寓/阁楼/布鲁克林/
map.location ":transaction/:country_code/:location_a/*property_types/:location_b",
:controller => "search",
:action => "location",
:transaction => /(for-sale|for-rent|auction|new_development)/i,
:country_code => /\w\w/i,
:location_a => /\w\w/i,
:property_types => /(apartment|loft|home|condo|multi-home|town-house)/i
希望有人能解释我如何让 property_types 的正则表达式工作,因为我不明白它应该如何在一个数组的 glob 床路由上工作。我链接到的票似乎表明可以在每种类型之间进行正则表达式匹配,但我无法使任何工作。
示例网址: http://localhost:3000/for-sale/us/ny/apartment/loft/brooklyn