2016-03-26 3 views
-1

IMおよびアーティストコントローラ#<アーティスト:0xd7a8db8>のための未定義のメソッド `のpaginate」レール4とwill_paginateを用い

def show 
    @artist = Artist.friendly.find(params[:id]).paginate(page: params[:page]) 
    end 

とビューartists.show.htmlに

source 'https://rubygems.org' 

gem 'rails',    '4.2.6' 
gem 'friendly_id', '~> 5.1.0' 
gem 'sorcery' 
gem "paperclip", "~> 4.3" 
gem 'will_paginate',   '3.0.7' 
gem 'bootstrap-will_paginate', '0.0.10' 

をfriendly_id。 ERB

<div class="text-center"> 
<%= will_paginate %> 
</div> 
<div class="list-group"> 
    <% @artist.songs.each do |song| %> 
     <%= link_to song.title, artist_song_path(@artist, song), class: 'list-group-item' %> 
    <% end %> 
</div> 

、それが私にこのエラー

を投げます
NoMethodError in ArtistsController#show 
undefined method `paginate' for #<Artist:0xd7a8db8> 
Extracted source (around line #3): 

class ArtistsController < ApplicationController 
    def show 
    @artist = Artist.friendly.find(params[:id]).paginate(page: params[:page]) 
    end 
end 

お願いします!

更新;

iは

def show 
    @artist = Artist.friendly.find(params[:id]) 
    @songs = @artist.songs.paginate(page: params[:page]) 
    end 

おかげ@Ben Y

答えて

1

paginate方法が唯一のレコードのコレクションではなく、単一のもので動作するアーティストコントローラで

を修正します。 findを使用すると、単一のレコードが返されます。ページを設定できるようにしたい場合は、findの代わりにwhereを使用する必要がありますが、複数のアーティストが返される可能性のあるインデックスルートでのみ必要です。

+0

ok私はそれを修正します、ありがとう – anouar

関連する問題