我正在构建一个可供不同视图(游戏和促销)使用的局部视图。我在视图/应用程序中创建了一个部分
<%= content_tag :article, class: ['article'] do %>
<a href="#">
<%= image_tag item.thumbnail %>
</a>
<h2><%= item.name %></h2>
<p><%= item.description %></p>
<p>
<%= link_to 'Read more', "#" %>
</p>
<% end %>
我从视图游戏视图(或促销)中调用它:
<% @games.each do |item| %>
<section>
<%= render 'application/item_synopsis_builder', item: item %>
</section>
<% end %>
它可以很好地填充和渲染部分,但我不知道如何将 view_path 传递给部分,以便它用 <%= the_right_path => 动态替换临时 #。
我试着做:
<%= render partial: 'application/item_synopsis_builder', locals: {item: item, path: game_path } %>
但我只是收到一条错误消息:
No route matches {:action=>"show", :controller=>"games"}
但是如果我用 href="#" 渲染部分,它会很好地渲染。
我也尝试了运气,href="<%= "#{item}_path" %>"
但它只是打印出对象项的引用。
干杯