【问题标题】:Apply regex to a dynamic Rails link将正则表达式应用于动态 Rails 链接
【发布时间】:2014-08-01 11:43:01
【问题描述】:

是否可以在 Rails 链接中应用正则表达式解决方案?

例如,我有这个链接:

venue_news_index_path(sensitive_venue)

产生这个:

/leisure/venuename/news 

我想应用这个:

^(.*)(\/.*)$

然后gsub:

$1#$2

实现这一目标:

/leisure/venuename#/news

【问题讨论】:

    标签: ruby-on-rails ruby regex gsub


    【解决方案1】:

    当您调用_path_url 方法时,它所做的只是返回一个字符串,因此您可以根据需要gsub 该结果。

    请注意,由于 # 是特定页面上的位置,而不是唯一的 URL,Rails 会将其视为在任何链接/表单/或重定向中转到 /leisure/venuename

    编辑

    设法让更严格的正则表达式工作。 .* 的问题是它也有斜线等等。

     path.gsub(/\/[a-zA-Z0-9\-\_]*$/) do |match|
       "##{match}"
     end
    

    【讨论】:

      猜你喜欢
      • 2012-06-08
      • 2020-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多