Railsでページネーションを実装したく
kaminariというgemをGemFlieに記述し、bundle installを実行して
def index @posts = Post.page(params[:page]) end
のようにコードを書きlocalhostでアクセスすると
「 undefined method `page' for #Class:0x0000000003cddf68 」
というエラーが出ます。
ネットで調べても同じようなエラーの対処法が見つからなかったです。
解決方法ありますでしょうか。
index.htm.erb
html
1<p id="notice"><%= notice %></p> 2 3<h1>ミニブログサイト</h1> 4 5<table> 6 <thead> 7 <tr> 8 <th>タイトル</th> 9 <th>本文</th> 10 <th>投稿日</th> 11 <th colspan="3"></th> 12 </tr> 13 </thead> 14 15 <tbody> 16 17 <% @posts.each do |post| %> 18 <tr> 19 <td><%= link_to post.title, post %></td> 20 <td><%= post.content .truncate(200)%></td> 21 <td><%= post.created_at %></td> 22 </tr> 23 <% end %> 24 </tbody> 25</table> 26<%= paginate @posts %> 27<br> 28 29<%= link_to '新規投稿', new_post_path %>
Gem
gem
1gem 'kaminari' 2gem 'kaminari-i18n'
ツッコミポイントがいくつもあります。
もう少し回答者に配慮した具体的な質問を心がけましょう。
・bundle install をした時に undefined method `page' for ... のエラー文が出たんですか?
・提示できるサンプルコードは全く無いんですか?
・エラーが出てから全く何も試してないんですか?
・pageメソッドが使えないとは具体的にどういう解釈をしたんですか?
多分bundle installした後にコマンドを打ったり画面にアクセスしたり、ファイルにコードを書いたり色々しているはずです。
何を書いたらいいか分からないのであれば、それらの手順全てとソースコードを書くぐらいしておけば、何かしら進展があると思います。
情報の追記ありがとうございます。
念のため確認ですが、bundle install した後にrailsサーバーの再起動は行いましたか?
gemをインストールした後再起動しないとgemが読み込まれないことがあるため。
もし質問後に一度サーバー停止していれば、今サーバーを起動すればpaginationが動作する可能性もあります。
インストール後のサーバー再起動は行っております。
あなたの回答
tips
プレビュー