我正在使用一个包含我的模型产品的创建和编辑模板的表单部分。
我有下面的代码来检查它是否是编辑视图
<% current_page?(edit_product_path(@product)) %>
但是,当我进入create视图时,站点会出现以下错误
没有路由匹配{:action=>“edit”,:controller=>“products”,:id=>nil}
缺少必需的密钥:[:id]
我找不到哪里不对劲。

最佳答案

edit_product_path()需要您想要编辑的产品的id,但在您的情况下,不知何故@productnil,因此,您得到的是错误而且,由于将来有可能再次nil,因此您必须检查:

<% if @product %>
  <% current_page?(edit_product_path(@product) %>
  <%# Your other code %>
<% end %>

10-07 19:04
查看更多