加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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 %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读