Rails link_to无法正常工作

时间:2017-11-14 17:04:46

标签: ruby-on-rails ruby-on-rails-5

我正在尝试在我的桌面上放置link_to以转到show操作,但它将网址设为/admin/vulnerabilities.object_id而不是/admin/vulnerabilities/object_id 我的索引视图是:

...
<% @vulnerabilities.each do |vulnerability| %>
  <tr>
    <td><%=link_to vulnerability.id, admin_vulnerabilities_path(vulnerability) %></td>
    <td><%= vulnerability.type %></td>
    <td><%=h truncate(vulnerability.description, :length => 80) %></td>
    <td><%= vulnerability.published %></td>
    <td><%= vulnerability.modified %></td>
    <td><%= link_to vulnerability.href, vulnerability.href , target: :_blank %></td>
  </tr>
<% end %>
...

我有show.html.erb模板设置,我的show操作如下:

def show
  @vulnerabilities = Vulnerability.find(params[:id])
end

从我所看到的情况来看,这应该可行,但是当点击链接时,它只会重定向到索引页面,有效地刷新它,而不是完全不使用我的显示页面。

1 个答案:

答案 0 :(得分:2)

如果您将routes.rb文件的相关部分添加到您的问题中会很有帮助,但我推测问题是admin_vulnerabilities_path(vulnerability)应该是admin_vulnerability_path(vulnerability)

此外,正如评论中所述,最好使用@vulnerability作为您的实例名称,因为find将返回单个记录。