Projects#中的NameError显示为devise

时间:2015-02-08 12:12:36

标签: ruby-on-rails ruby devise

我正在尝试在 show.html.erb 中执行此操作(下面的代码),但它给了我这个错误:

  

项目中的NameError#show

但这在我的 index.html.erb 中运行良好,这让它更奇怪了吗?

<%= link_to 'Back', projects_path %>
 <% if project.user == current_user %>
   <td><%= link_to 'Edit', edit_project_path(project) %></td>
   <td><%= link_to 'Destroy', project, method: :delete, data: { confirm: 'Are you sure?' } %></td>
<% end %>

哦顺便说一下,我正在使用Devise,而这就是来自

的地方
<% if project.user == current_user %>

这是完整的错误:

项目中的NameError#show

#&lt;#:0x007fd419297d00&gt;的未定义局部变量或方法`project' 提取的来源(第30行):

<%= link_to 'Back', projects_path %>
 <% if @project.user.id == current_user.id %>
  <td><%= link_to 'Edit', edit_project_path(project) %></td>
  <td><%= link_to 'Destroy', project, method: :delete, data: { confirm: 'Are you sure?' } %></td>
<% end %>

1 个答案:

答案 0 :(得分:2)

如果它在show.html.erb中,则更改为: -

<%= link_to 'Back', projects_path %>
  <% if @project.user == current_user %>
    <td><%= link_to 'Edit', edit_project_path(@project) %></td>
    <td><%= link_to 'Destroy', @project, method: :delete, data: { confirm: 'Are you sure?' } %></td>
<% end %>