2016-05-31 5 views
0

私はブログにユーザーデータを表示する際にちょっとした問題を抱えています。ユーザーデータを表示しようとしているときに ':user_id'キーがありません

get '/profiles', to: "profiles#index", as: 'profiles' 
get '/profiles/:user_id', to: "profiles#show", as: 'profile' 

と次のテンプレート:

index.html.erbroutes.rbを

class ProfilesController < ApplicationController 
    def index 
    @profiles = User.all 
    end 
    def show 
    @profile = User.find(params[:user_id]) 
    end 
end 

次のルート:私は、次のコードでprofiles_controllerを持って

<div class="container"> 
    <div class="row"> 
    <% @profiles.each do |user| %> 
     <div class="col-md-6"> 
     <p><%= user.first_name %> <%= user.last_name %></p> 
     <%= link_to 'View Profile', profile_path %> 
     </div> 
    <% end %> 
    </div> 
</div> 

私は姓、名、および '約' セクションとして追加attrsにしてdeviseUserモデルを長時間使用

<div class="container"> 
    <p><%= @profile.first_name %> <%= @profile.last_name %></p> 
    <p><%= @profile.email %></p> 
    <p><%= @profile.about %></p> 
</div> 

show.html.erb。

ActionController::UrlGenerationError in Profiles#index 
No route matches {:action=>"show", :controller=>"profiles"} missing required keys: [:user_id] 

私は

<%= link_to 'View Profile', profile_path %> 

ラインindex.html.erb、/profilesパスが機能から削除しますが、/profile:私は/profilesパスのいずれかをナビゲートしようとすると は、それは私に次のエラーを返します。パスはまだありません。私は何を間違えたのですか?コントローラでのごshowアクションで

答えて

1

、それは次のようになります。

User.find(params[:id]) 

また、リンクは次のようになります、おかげで働いた

<%= link_to 'View Profile', profile_path(user) %> 
+1

! 11分後にあなたの答えを受け入れることができます – AlexNikolaev94

関連する問題