是否可以在Rails链接中应用正则表达式解决方案?
例如,我有这个链接:
venue_news_index_path(sensitive_venue)
产生这个:
/leisure/venuename/news
我想申请:
^(.*)(\/.*)$
然后gsub
:
$1#$2
实现这一目标:
/leisure/venuename#/news
答案 0 :(得分:1)
当您调用_path
或_url
方法时,它只会返回一个字符串,因此您可以根据需要gsub
结果。
请注意,由于/leisure/venuename
是特定网页上的位置而不是唯一的网址,因此Rails会将其视为转到任何链接/表单/重定向中的#
。
修改强>
管理以获得更严格的正则表达式。 .*
的问题是它是否会变为斜线。
path.gsub(/\/[a-zA-Z0-9\-\_]*$/) do |match|
"##{match}"
end