2016-05-08 10 views
0

を変更するビューを編集するために取得できないユーザーのコントローラでは、ユーザーのプロファイルを編集しようとしているプロファイル

<% if current_user %> 
    <% if admin? %> 
     <%= link_to "Admin Page", admin_users_path %> Signed in as <%= current_user.username %> <%= link_to "Edit profile", edit_user_path %>(<%= link_to "Log out", session_path("current"), method: :delete %>) etc 

def edit 
    @user = current_user 
    end 

ユーザー編集ビュー:

<%= form_for @user do |f| %> 
     <% if @user.errors.any? %> 
etc 

のルート:私は明らかにいくつかの重要な概念が欠落してい

resources :users, only: [:new, :create, :edit] 

は、全く別のコントローラを指す:作品番号指数のActionController :: UrlGenerationError、

Noルートマッチ{:アクション=> "編集"、 :controller => "users"}必要なキーがありません:[:id]

+0

良いチュートリアルが見つかりました。 – daveasdf

答えて

0

映画#インデックス内ActionController :: UrlGenerationError、

Noルート一致 必要なキー欠落{:アクション=> "編集"、コントローラ=> "ユーザー"}:[:ID]

edit_user_path:idをキーとするので、それを渡す必要があります。以下は正常に動作するはずです

<%= link_to "Edit profile", edit_user_path(current_user) %> 
1

エラーは上記のとおりです。 ":id" ユーザーIDを渡す必要があります:{:action => "edit"、:controller => "users"} 必須キーがありません。

<%= link_to "Edit profile", edit_user_path(current_user) %> 
+0

両方に感謝!少し眠った後も、私はユーザーリソースを開かなければならないことに気付きました。 – daveasdf

関連する問題