Html 如何将div嵌套在rails中的锚定标记中

Html 如何将div嵌套在rails中的锚定标记中,html,ruby-on-rails,haml,erb,Html,Ruby On Rails,Haml,Erb,我是RubyonRails的业余爱好者,我正在尝试在Rails的锚定标记中嵌套一个div标记。我可以让它工作,但我所写的代码很糟糕,肯定不是rails的方式 下面是我试图用HTML实现的一个示例: <a href="tell-a-friend"> <div id="tellafriend"> <strong>Strength in Numbers.</strong><br /> Suggest a friend or c

我是RubyonRails的业余爱好者,我正在尝试在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>

以下是我在雇员再培训局的想法:

<%= 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的任何组合对我来说都是可以的。

链接作为块工作:

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

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


A.
您可以在运行此操作并更改DOCTYPE,以查看此操作对哪种模式有效。(确保同时指定编码以消除警告:-)

最糟糕的是:

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

#名字

哇,真不敢相信我竟然不知道/哭更新:刚刚在我的rails3 beta4应用程序中测试过。。。需要一个小的调整,使其工作。基本上。。。是的,很抱歉。块中不应存在指向的链接的“”部分。Rails 3可能会使用有趣的方法,但这是一个Rails特有的问题。您也可以在div前面放置一个空的锚标记。
<%= link_to(url, html_options = {}) do %>
   # name
<% end %>