2

これらの両方:

<%= content_tag("a", @a_model_instance.name, :href => @a_model_instance.url) %>
<a href="<%= @a_model_instance.url %>"><%= @a_model_instance.url %></a>

次の href 値を持つ URL が生成されます。

0.0.0.0:3000/model_name/www.the_url_i_want.com

の値をa持つタグを取得することをどのように防止しますか? 文字列を返します。hrefwww.the_url_i_want.com@a_model_instance.urlwww.the_url_i_want.com

編集 - 1 つの解決策

これは機能します:

<%= content_tag("a", @a_model_instance.name, :href => "http://#{@a_model_instance.url}") %>
<a href="http://<%= @a_model_instance.url %>"><%= @a_model_instance.url %></a>

しかし、非常に非レールのようです

4

3 に答える 3

2

URL が存在しない場合は、プロトコルを前に追加できます。

module UrlHelper
  def url_with_protocol(url)
    /^http/.match(url) ? url : "http://#{url}"
  end
end

その後:

link_to @a_model_instance.name, url_with_protocol(@a_model_instance.url)
于 2012-08-14T16:02:01.973 に答える
2

URLの先頭にhttpを追加する場合、ドメインを前に追加するべきではないと思います

于 2012-08-14T16:02:11.840 に答える
0

あなたは生のURLを挿入することができます

 <%= link_to "Visit Stackoverflow", "http://www.stackoverflow.com/" %>

または試してみてください

<%= link_to "My url string", "#{@a_model_instance.url}" %>
于 2012-08-14T15:57:36.250 に答える