Ruby on rails 通过ERB | Ruby on Rails中的对象名编辑db项

Ruby on rails 通过ERB | Ruby on Rails中的对象名编辑db项,ruby-on-rails,ruby,Ruby On Rails,Ruby,我的rails应用程序中有一个页面,用于呈现数据库中的产品,而不是产品索引页面。我想知道以下几点: 如何通过do语句中的对象编辑项 奖励:是否可以编写以下语句以允许@pack而不是通过对象的跟踪对象 我的看法是: <% @packs['track-indie']&.each do |track| %> <div class="wellington top-drop"> <div> <h3 class="soundtrack

我的rails应用程序中有一个页面,用于呈现数据库中的产品,而不是产品索引页面。我想知道以下几点:

如何通过do语句中的对象编辑项

奖励:是否可以编写以下语句以允许@pack而不是通过对象的跟踪对象

我的看法是:

<% @packs['track-indie']&.each do |track| %>
  <div class="wellington top-drop">
    <div>
      <h3 class="soundtrack-heading align-left pack-name"><%= track.title %></h3>
      <button class="btn btn-price align-right hidden-xs btn-bump" type="button">$<%= track.price %></button>
      <button class="btn btn-success align-right btn-bump" id="btn-buy" type="button">Buy!</button>
      <% if current_user.present? && current_user.admin? %>
      <%= link_to "Edit", track, class: "btn btn-warning align-right btn-bump" %>
      <%= link_to "Delete", track,
                      method: :delete,
                      data: {confirm: "Are you sure you want to delete this pack?"},
                      class: "btn btn-danger align-right" %>
      <% end %>
      <div style="clear: both;"></div>
    </div>
    <iframe width="100%" height="110" scrolling="no" frameborder="no" allow="autoplay" src="<%= track.audio_embed %>"></iframe>
  </div>
<% end %>
当我按下“编辑”按钮时,它表示没有具有该名称的产品。我甚至尝试过使用method::edit,但这似乎也不起作用


使用:update或:edit时按下编辑按钮时出现的错误是路由错误。它表示:没有路线匹配[POST]/products/hunt,但我可以在那里导航,删除按钮工作正常。

我不能100%确定轨道和包装之间的模型关系,但问题似乎出在您的链接中

第二个参数应该引用您想要的路径,因此它类似于:

链接\u进行编辑,编辑\u轨迹\u路径跟踪

如果您不知道路由名称是什么,请在命令行上执行rake routes命令,查看所需路由的对应名称


更多信息:

嘿,谢谢你回复我,我从来都不知道你可以像那样传递括号中的对象!顺便说一句,track是一个简单的对象名,仍然是作为一个新包创建的。我再次尝试了这个方法,出于某种原因,它说没有匹配的路由,但是当我在其show view中编辑包时,它是相同的域路径,并且可以工作。嗯,当你运行rake路由时会得到什么?您的视图目录中是否有该控制器的编辑模板?我得到:packsindex、packscreate、packsnew、packsedit、packsshow、packsupdate、packsupdate、packsdestroy,我在问题中提到的曲目是在一个名为tracksIndie的视图中呈现的,它的路径是packstracksIndie tracksIndie GET/indie soundtracks.:format至于编辑模板,我在目录和控制器中都有一个。当通过产品展示页面进行编辑时,该项目将可以很好地编辑,而不是通过我为其创建的视图进行编辑。当您在第一条评论中说在其展示视图中编辑包时,您的意思是什么?也许我误解了这个问题,你期望的结果是什么,你看到的错误是什么?听起来好像你已经准备好了路由和控制器操作&模板,所以它可能只是正确地连接了起来。哦,我有一个包目录MVC,其中有典型的编辑、新建、索引和显示。如果你愿意的话,我有一个关于曲目的二级索引,在这种情况下,它叫做tracksIndie.html.erb。该节目在自己的页面上呈现每个单独的包,我试图从视图tracksIndie.html.erb直接转到曲目的编辑视图,而不是MVC的show视图。