RAILS link_to外部站点,url是用户表的属性,如:@ users.website

the*_*eld 34 ruby ruby-on-rails external hyperlink link-to

我正在开发一个允许用户创建帐户的网站.创建用户时的一个属性是用户个人网站.当我尝试使用这样的用户网站时:

<%= link_to @user.site, @user.url %>
Run Code Online (Sandbox Code Playgroud)

生成的url是: http://0.0.0.0:3000/www.userswebsite.com

我认为这是因为link_to的@user部分......但我怎样才能将其链接到www.userwebsite.com?

Vol*_*ldy 95

如果URL不存在,您可以使用协议预先添加url:

module UrlHelper
  def url_with_protocol(url)
    /^http/i.match(url) ? url : "http://#{url}"
  end
end
Run Code Online (Sandbox Code Playgroud)

然后:

link_to @user.site, url_with_protocol(@user.url), :target => '_blank'
Run Code Online (Sandbox Code Playgroud)

  • 使用:target =>'_ blank'代替:target =>:空白.它无法按预期工作,您可以通过从新创建的窗口打开相同的链接来尝试它. (2认同)

cam*_*cam 28

看起来你需要在你的链接上粘贴协议.例如,您在数据库中有www.userswebsite.com,它应该是http://www.userswebsite.com