3

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>

私は何を間違っていますか?

4

1 に答える 1

4

インスペクターを見ていますか、それとも実際に生成されたコードを見ていますか? 前者の場合、実際のソース コードではなく、ブラウザが HTML を解釈しているものである可能性があります。

それが不安定な理由はli、そのようにアンカーに an を入れることができないからです。ulまたはolに含めることができる唯一のものは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>
于 2013-07-14T15:56:48.940 に答える