ruby-on-rails – Rails,将路径变量传递给partial
发布时间:2020-12-17 02:35:54 所属栏目:百科 来源:网络整理
导读:我正在构建一个将由不同视图(游戏和促销)使用的部分内容. 我在视图/应用程序中创建了一个局部视图 %= content_tag :article,class: ['article'] do % a href="#" %= image_tag item.thumbnail % /a h2%= item.name %/h2 p%= item.description %/p p %= link_
我正在构建一个将由不同视图(游戏和促销)使用的部分内容.
我在视图/应用程序中创建了一个局部视图 <%= 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 %> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |