【发布时间】:2011-08-30 16:40:36
【问题描述】:
我在使用 Devise 时遇到了一个奇怪的问题。我有任务清单。当您突然删除一项任务时,我收到与用户有关的模板错误。
似乎删除方法会导致会话注销,因此在尝试加载模板时找不到用户。
我不知道为什么会这样:
_task.html
<div class="tasks">
<%= div_for task do %>
<%= link_to 'Delete', task_path(task), :method => :delete, :class => "delete", :remote => true %> | <%= content_tag(:div, task.task, :class => "task-body") %>
<% end %>
</div>
destroy.js.erb
$("#task_<%= @task.id %>").fadeOut();
重新加载页面后出现错误,这是帐户,在标题中注销等
No route matches {:action=>"show", :controller=>"users"}
Extracted source (around line #5):
2: <div id ="login">
3: <ul>
4: <li><%= link_to "Sign out", destroy_user_session_path %></li>
5: <li><%= link_to "Account", user_path(current_user) %></li>
6: <li><%= link_to "Things", user_things_path(current_user) %></li>
7:
8: </ul>
提前致谢!
【问题讨论】:
-
你能把路由和控制器的相关代码贴出来吗?
-
您使用的是哪个版本的 rails 和 devise?
-
我也看到了这个问题。当为用户对象的嵌套资源调用销毁方法时,用户将被注销。我有最新版本的 devise 和 Rails。