我正在浏览RailsCast 209- design -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
,它如何在铁路广播中工作?
2)在application.html.erb
中我如何给出id?
虽然你已经接受了答案,但我认为正确的答案应该是:
<%= link_to 'Edit_profile', edit_user_path(current_user) %>
因为我假定您想编辑的是用户,而不是id与用户id意外相同的博客文章
试试这个
<%= link_to 'Edit_profile',edit_blog_post_path(current_user.id)%>