我的 application.html.erb 中缺少什么? RailsCast 209-设计-修订
What is missing in my application.html.erb? RailsCast 209-devise-revised
我正在浏览 RailsCast 209-devise-revised。在 application.html.erb
中给出了这段代码(更改了路径)
<div id="container">
<div id="user_nav">
<% if user_signed_in? %>
Logged in as <strong><%=current_user.email %></strong>
<%= link_to 'Edit_profile',edit_blog_post_path%>
<%= link_to 'LogOut', destroy_user_session_path%>
<%else %>
<%= link_to 'Sign Up', new_user_path %>
<%= link_to 'Login', new_user_session_path %>
<% end%>
</div>
</div>
问题是在 RailsCast 中这个文件工作正常,但对我来说
No route matches {:action=>"edit", :controller=>"blog_posts"} missing required keys: [:id]
抛出错误。
1) 在没有给出 id
的情况下,它是如何在 railscast 中工作的?
2) 在 application.html.erb
中如何给 id?
试试这个
<%= link_to 'Edit_profile',edit_blog_post_path(current_user.id)%>
虽然您已经接受了答案,恕我直言,正确答案应该是:
<%= link_to 'Edit_profile', edit_user_path(current_user) %>
因为我假设您要编辑用户,而不是博客-post 其 ID 意外地与用户的 ID 相同。
我正在浏览 RailsCast 209-devise-revised。在 application.html.erb
中给出了这段代码(更改了路径)
<div id="container">
<div id="user_nav">
<% if user_signed_in? %>
Logged in as <strong><%=current_user.email %></strong>
<%= link_to 'Edit_profile',edit_blog_post_path%>
<%= link_to 'LogOut', destroy_user_session_path%>
<%else %>
<%= link_to 'Sign Up', new_user_path %>
<%= link_to 'Login', new_user_session_path %>
<% end%>
</div>
</div>
问题是在 RailsCast 中这个文件工作正常,但对我来说
No route matches {:action=>"edit", :controller=>"blog_posts"} missing required keys: [:id]
抛出错误。
1) 在没有给出 id
的情况下,它是如何在 railscast 中工作的?
2) 在 application.html.erb
中如何给 id?
试试这个
<%= link_to 'Edit_profile',edit_blog_post_path(current_user.id)%>
虽然您已经接受了答案,恕我直言,正确答案应该是:
<%= link_to 'Edit_profile', edit_user_path(current_user) %>
因为我假设您要编辑用户,而不是博客-post 其 ID 意外地与用户的 ID 相同。