我对rails 2.3中的globbed路由上的正则表达式匹配有疑问。这张票解释了我遇到的完全相同的问题: 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