ruby-on-rails – Rails,将路径变量传递给partial

我正在构建一个将由不同视图(游戏和促销)使用的部分内容.
我在视图/应用程序中创建了一个局部视图

<%= 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“%>”但它只是打印出对象项的引用.

干杯

最佳答案
我不知道这是你的错误,但在我看来,game_path期望一个游戏对象作为参数,这可能是你的错误.

编辑:

<% @games.each do |item| %>
  <section> 
    <%= render partial: 'application/item_synopsis_builder', locals:{item: item, path: game_path(item) %>
  </section>
<% end %>

转载注明原文:ruby-on-rails – Rails,将路径变量传递给partial - 代码日志