2016-06-21 14 views
0

私のWebアプリケーションでは、そのアルバムがクリックされたときに特定のアルバムに対してcurrent_usersの写真が表示されるようなショーアクションを作成しようとしています。しかし、私はショーアクションへのリンクをクリックするたびに '' id '=:id [WHERE "albums"。 "user_id" =?]'のアルバムを見つけることができませんでした。 showアクションは、次のようになりますActiveRecord :: RecordNotFound in AlbumsController#show

def show 
    @album = current_user.albums.find(params[:id]) 
    @photos = @album.photos 
end 

ビュー:

<div class="main"> 
<div class="main-background"> 

    <% @albums.each do |x| %> 
      <div class="big-albums"><%= link_to x.name, "/albums/:id", :style => "text-decoration:none;" %></div> 
    <% end %> 

    <div class="new-album"> 
     <%= link_to 'New Album', "/albums/new", :style => "text-decoration:none;" %> 
     <div class="plus-sign"> 
      <%= link_to '+', "/albums/new", :style => "text-decoration:none; color:black; font-size:80px; color:#85adad;" %> 
     </div>   
    </div> 

</div> 

路線:

 get '/albums' => 'albums#index', as: :albums 
    get '/albums/new' => 'albums#new' 
    post '/albums/new' => 'albums#create' 
    get '/albums/:id' => 'albums#show' 
    get '/albums/:id/destroy' => 'albums#destroy' 
+0

目的のアルバムをクリックしたときのビューファイル(名前とコンテンツ)を表示できますか? – Maxence

+0

ビューとルートを追加しました@Maxence – nums

答えて

0

あなたの問題はあなたが

link_to x.name, "/albums/:id" 
を表示してい link_to URLです

これは、URLに渡される引数として:idを割り当てています。代わりに、"/albums/#{x.id}"のようなことをしてURLパス上のIDパラメータとしてアルバムIDを使用するようにします。

+0

「初期化されていない定数:: Album :: Photo」@Leo Correa – nums

+0

あなたのモデルのアルバムにはhas_manyが必要です:photos – DennisCastro

+0

@nums「Photo」モデルと関連がありますか'has_many:photos'の' Album'には? –

関連する問題