Чего не хватает в моем application.html.erb? RailsCast 209-разработка-пересмотр
Я собирался через 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) Как это работает в Railscast, не давая id
?
2) В application.html.erb
как я могу дать идентификатор?
2 ответа
Решение
Пока вы уже приняли ответ, imho правильный ответ должен быть:
<%= link_to 'Edit_profile', edit_user_path(current_user) %>
Потому что я предполагаю, что вы хотите отредактировать пользователя, а не запись в блоге, чей идентификатор случайно совпадает с идентификатором пользователя.
Попробуй это
<%= link_to 'Edit_profile',edit_blog_post_path(current_user.id)%>