2

我是一个 Ruby on Rails 的业余爱好者,我试图在 rails 的锚标签内嵌套一个 div 标签。我可以让它工作,但是我编写的结果代码很糟糕,而且肯定不是 Rails 方式。

这是我试图在 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 的任何组合我都可以。

4

3 回答 3

9

链接作为块工作:

<% link_to '', my_path do %>
  <div></div>
<% end %>
于 2010-06-19T00:32:08.567 回答
1

仅供参考:在 HTML 4.01 Transitional 中,围绕 DIV 的 ANCHOR 是不合法的(但在 HTML5 中?),因此请确保您使用正确的文档类型并在目标浏览器上进行测试!

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

您可以在W3C Validator上运行它并更改 DOCTYPE 以查看它对哪种模式有效。(确保同时指定编码以消除警告:-)

于 2010-06-19T04:34:56.307 回答
0

最糟糕的是:

<%= link_to(url, html_options = {}) do %>
   # name
<% end %>
于 2015-08-15T00:06:02.150 回答