Ruby:2.2.3
Rails:4.2.4
OS:OSX 10.11.2 Beta
我正在学习Rails,当我像这样gunicorn trescloud_landing.wsgi:application --daemon --bind=127.0.0.1:8888 --pid=/opt/webapps/pid/landing-pages.pid --access-logfile=/opt/webapps/log/landing-pages.access.log --error-logfile=/opt/webapps/log/landing-pages.error.log
时:
link_to
如果link.url类似于" Google.com"它没有链接到外部网站。相反,它根本没有使用变量,并创建了一个静态链接,始终创建一个锚标记,如下所示:
<% link_to 'Visit Url', 'http://#{@link.url} %>
将字符串与变量分开,这样可以正确链接到外部站点:
<a href="http://#{@link.url}">Visit Url</a>
那为什么第一个不起作用?如果link.url是&#34; google.com&#34;,则不应该将第一个<% link_to 'Visit Url', 'http://' + @link.url %>
正确地连接到&#34; http://google.com&#34;?
答案 0 :(得分:3)
只需使用"
双引号而不是'
单引号。单引号内的任何内容都不会被插值。
所以:
@link = "www.google.com"
s1 = 'http://#{@link}'
s2 = "http://#{@link}"
puts s1 # prints http://#{@link}
puts s2 # prints http://www.google.com