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')