2015-09-24 22 views
1

我正在經歷RailsCast 209-devise-revised。在在application.html.erb這個代碼給出(改變路徑)我的application.html.erb中缺少什麼? RailsCast 209-devise-revised

<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?

回答

2

雖然你已經接受了答案,恕我直言,正確的答案應該是:

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

因爲我會想你要編輯的用戶,而不是一個博客,帖子其ID與用戶的ID無意相同。

+0

是的,我正面臨着像你說的前一個答案的一些問題。 :) – InQusitive

1

試試這個

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

是的,它使它的工作:) – InQusitive