0

我有一个生成如下 URL 的代码:#{URI.escape p.url(checkout_path)}

现在我需要检查一个条件,如果#{URI.escape p.url(checkout_path)}生成一个 URL =“http://mywebsite.com”,则将 /trunk 附加到末尾,因此它必须是“http://mywebsite.com/trunk”,否则如果它已经有从之前附加的 /trunk 应该是“http://mywebsite.com”。

因此最后如果http://mywebsite.com然后http://mywebsite.com/trunk

其他

http://mywebsite.com/trunk然后http://mywebsite.com

但我想知道如何使用#{URI.escape p.url(checkout_path)}

4

1 回答 1

1

我会将其放入某个辅助方法中,但您可以有效地执行以下操作:

 URI.escape(p.url(checkout_path)) =~ /\/trunk$/ ? URI.escape(p.url(checkout_path)).gsub('/trunk', '') : "#{URI.escape(p.url(checkout_path))}/trunk"
于 2012-11-15T14:48:14.900 回答