围绕Rails中的内容包装Link_to

时间:2013-07-14 15:43:18

标签: html css ruby-on-rails

我正在尝试在我的rails应用程序中包含一个li的链接,我认为以下内容可行:

     <%= link_to project_path(remix) do %>
      <li>
          <div class="remix-list-image"><%=link_to image_tag(remix.default_image.image_path_url(:preview), :class=>"img-polaroid"), project_path(remix)  %></div>
          <div class="remix-list-title"><%=link_to remix.title, project_path(remix) %> by <%= link_to remix.author, user_path(remix.user) %></div>
      </li>
      <% end %>

但它产生了以下html:

<a href="/projects/206">
</a>
<li>
     <a href="/projects/206"></a>
     <div class="remix-list-image">
        <a href="/projects/206"></a>
        <a href="/projects/206"><img alt="Preview_2013-06-18_08.25.02" class="img-polaroid" src=""></a>
      </div>
      <div class="remix-list-title"><a href="/projects/206">Video Test Remix</a> by <a href="/users/tiff">tiff</a>
      </div>
</li>

我希望它能做类似以下的事情:

<a href ="/projects/206">
<li>...</li>
</a>

我做错了什么?

1 个答案:

答案 0 :(得分:2)

您是在查看Inspector,还是实际生成的代码?如果是前者,它可能是浏览器将您的HTML解释为,而不是源代码中的实际内容。

它之所以不稳定是因为你不能以这种方式将li放入锚中; ulol唯一允许包含的内容是li。将代码更改为此代码,它应该可以工作:

 <li>
   <%= link_to project_path(remix) do %>
      <div class="remix-list-image"><%=link_to image_tag(remix.default_image.image_path_url(:preview), :class=>"img-polaroid"), project_path(remix)  %></div>
      <div class="remix-list-title"><%=link_to remix.title, project_path(remix) %> by <%= link_to remix.author, user_path(remix.user) %></div>
    <% end %>
 </li>