2015-09-24 5 views
1

Я прошел через RailsCast 209-devise-revision. В том, что в application.html.erb этот код дается (изменил пути)Что отсутствует в моем приложении application.html.erb? RailsCast 209-devise-red

<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

В то время как вы уже приняли ответ, имхо правильный ответ должен быть:

<%= link_to 'Edit_profile', edit_user_path(current_user) %> 

Потому что я полагаю, вы хотите изменить пользователя, а не блог-пост идентификатор которого случайно идентичен идентификатору пользователя.

+0

Да, я столкнулся с некоторыми проблемами с предыдущим ответом, как вы сказали. :) – InQusitive

1

Попробуйте

<%= link_to 'Edit_profile',edit_blog_post_path(current_user.id)%> 
+0

Да, это заставило его работать :) – InQusitive

Смежные вопросы