如何将div嵌入rails中的锚标记内

时间:2010-06-19 00:07:43

标签: html ruby-on-rails haml erb

我有点像Ruby on Rails业余爱好者,我正试图在rails中的一个锚标签中嵌入一个div标签。我可以使它工作,但我写的结果代码是可怕的,当然不是轨道方式。

以下是我在HTML中尝试完成的示例:

<a href="tell-a-friend">
<div id="tellafriend">
    <strong>Strength in Numbers.</strong><br />
    Suggest a friend or colleague to participate in this survey.
</div>
</a>

以下是我在ERB中提出的建议:

<%= link_to content_tag(:div, 
    content_tag(:strong, 'Add your labor rates now.') + 
    content_tag(:br, '') + ' We are counting on you.', :id => 'participate'), 
participate_path %>

或者我在这里混合了一些HTML和ERB:

<%= link_to '<div id="results">
    <strong>See the results.</strong><br />
    Knowledge is power.
</div>'.html_safe, results_path %>

我的两个解决方案看起来都非常丑陋......但是考虑到DIV的内容发生变化并且我只在一个页面上显示其中的3个,将其转换为帮助程序似乎不是正确的做法

因此,如果有人知道更好的方法,我感兴趣!我,HTML,ERB和HAML的任何组合都可以。

3 个答案:

答案 0 :(得分:7)

链接作为块工作:

<% link_to '', my_path do %>
  <div></div>
<% end %>

答案 1 :(得分:1)

仅供参考:围绕DIV的ANCHOR在HTML 4.01 Transitional中是不合法的(但它在HTML5中?)因此请确保在目标浏览器上使用正确的doc-type和test(多个)!

<head>
<title>a</title>
</head>
<body>
<div>
<a href="www.google.com">
<div>test</div>
</a>
</div>
</body>
</html>

您可以在W3C Validator运行此操作并更改DOCTYPE以查看此模式的有效性。 (确保也要指定编码以消除警告: - )

答案 2 :(得分:0)

最糟糕的是:

<%= link_to(url, html_options = {}) do %>
   # name
<% end %>