Ruby on rails Rails,将path变量传递给部分

Ruby on rails Rails,将path变量传递给部分,ruby-on-rails,partial-views,Ruby On Rails,Partial Views,我正在构建一个将由不同视图(游戏和促销)使用的分部。 我已在视图/应用程序中创建了一个分部 <%= content_tag :article, class: ['article'] do %> <a href="#"> <%= image_tag item.thumbnail %> </a> <h2><%= item.name %></h2> <p><%= item.de

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

<%= 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 %>
但如果我使用href=“#”)渲染部分,则渲染效果良好

我还尝试了使用
href=“”
的运气,但它只是打印出对象项的ref


干杯

我不知道这是你的错误,但在我看来,
游戏路径
需要一个游戏对象作为参数,这可能是你的错误

编辑:


如果您要查找的URL以型号命名,您只需执行以下操作:

<%= link_to "Read more", item %>

这将自动为您生成
游戏路径
促销路径
,具体取决于项目

实现所有这些魔力的方法称为


当前示例不起作用的原因是您没有将对象指定给
game\u path
。现在它不知道要生成哪个ID。没有与
{:action=>“show”、:controller=>“games”}
匹配的路由,但是有一个与
{:action=>“show”、:controller=>“games”、:id=>“something”}
匹配的路由,您可以将其作为字符串发送,然后使用send调用它

大概是这样的:

render partial: 'partial', locals: { link: "products_path" }
关于部分:

send(link, variable: 'hello', other: 'world')

游戏路径是否可以从游戏视图/控制器/我所在的任何位置获得?是的,可以。但是
game\u path
是特定游戏(用于显示、更新、销毁)的路径,因此它需要一个游戏对象从中检索id。如果要链接到索引页,请使用
games\u path
(请注意“s”)。不,我确实希望呈现单个游戏的路径。我正在建立一个游戏列表,需要链接到它们各自的页面。这对链接到帮助器很好。然后我有一个愚蠢的问题。可以用指向帮助者的链接包装标签吗?您的意思是:
?如果您需要在
链接到
表单
之外自动生成url,您可以在中使用
url。我刚试过,效果很好。感谢您提供的url\u提示:)
<% @games.each do |item| %>
  <section> 
    <%= render partial: 'application/item_synopsis_builder', locals:{item: item, path: game_path(item) %>
  </section>
<% end %>
<%= link_to "Read more", item %>
render partial: 'partial', locals: { link: "products_path" }
send(link, variable: 'hello', other: 'world')