ruby-on-rails – 为什么我不能在Rails中的link_to块中嵌套部分?

我已经看过很多关于这个的帖子,甚至文档说如果你这样做了

<%= link_to(result) do %>
    html-content-here
<% end %>

然后你会得到一个包含html内容的标签

但是,当我这样做

<%= link_to(result) do %>
    <%= render :partial => 'campings/inSelection', :locals => { :result => result } %>
<% end %>

我的链接和部分存在,但我得到这样的东西

<a href="link"></a>
partial's-content-here

这显然不是我想要的,这是不可能的吗?

这是我的部分内容:

  <div class="campingInHighlights">
      <% imgUrl = result.photo1.blank? ? "/assets/camping_defaut.png" : "http://applicampings.francecom.com/photos/fiches/liste/#{result.photo1}"  %>
      <%= image_tag imgUrl, class:"photo" %>
      <h3><%= link_to result.nom.to_s.downcase.capitalize, result %></h3>
      <p><%= result.ville.to_s.downcase.capitalize %> (<%= result.departement.code %>)</p>
      <div class="stars">
         <% result.nbetoile.times do %>
             <%= image_tag "/assets/star.png", class: "star" %>
         <% end %>
      </div>
  </div>

编辑:事实证明问题是由于我的部分中包含的链接标记,无论是手动创建还是通过link_to函数,都不可能有任何这些部分.有人可以解释一下这里发生了什么吗?

最佳答案 尝试用<%render ..(no =)替换<%= render ..标记,以便渲染块返回部分文本,但不会自动输出它.

点赞