从Ruby on Rails中的现有链接获取绝对链接作为字符串

时间:2014-07-15 16:25:17

标签: ruby-on-rails absolute-path

我正在尝试创建类似于Google搜索结果的内容。 它应该是这样的:

h2 Some heading
span www.somelink.com
span Here comes a text. Hello World.
a www.somelink.com (This is an actual link)

我的观点如下:

h1 Results
  - @i = 0
  - @obj.each do |o|
    = li
        h2 = o
        span = link_to o, o_path
        span = @description[@i]
        span = (link_to o, o_path).to_str
        - @i = @i + 1

@description是一个包含4个元素的数组,每个元素都包含@obj元素的描述。 结果     span =(link_to o,o_path).to_str 看起来像:

<a href="/somelink">Some Text</a> 我只想要它展示 localhost:3000/somelink

这里要做的工作是:

  • 将链接设为绝对链接

  • 仅过滤掉href之后的内容

这是否可以不费吹灰之力?任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

您可以像这样调用您的URL帮助:

- @obj.each do |o|
  # etc.
    span = o_url

用户更好的例子:

- @users.each do |user|
  = user_url(user.id) # should return the full path
  = user_path(user.id) # should return the relative path

答案 1 :(得分:1)

您可以使用_url代替_pathurl返回完整的网址,并path您当前网页上链接网页的绝对路径。

h1 Results
  - @i = 0
  = ul
  - @obj.each do |o|
    = li
      h2 = o
      span = link_to o, o_url
      span = @description[@i]
      span = (link_to o, o_path).to_str
      - @i = @i + 1

根据the official documentation