質問編集履歴

3 行なったことを追記しました

lyzmfeqpxs54

lyzmfeqpxs54 score 172

2017/09/10 13:17  投稿

Mysqlで作成したデータベースをページングして表示する
いつもお世話になります。
現状Railsでgenerateしたモデルをwill_paginateを使用して10ページずつ表示させることには成功している状態です。
RailsでgenerateしたモデルではなくMysqlで作成したデータベースからデータを取り込みwill_paginateを使用してページングしたいと考えているのですが下記のようなエラーが出てしまいます。
undefined method `paginate' for #<Mysql::Result:XXXXXXXXXXX>
質問なのですが、will_paginateはRailsで作成したモデルにしか対応していないということでしょうか。will_paginateで表示できない場合、Mysqlのデータをページングして表示する場合どのようにすればよいのでしょうか。
ご教示いただければ幸いです。
よろしくお願いいたします。
追記
 
 
配列であるMysqlのデータをページングする場合require 'will_paginate/array'を追加すればそのまま動かせるという記事があったので行ってみたのですが
<%= will_paginate @maildbs %>
部分で
undefined method `total_pages' for #<Mysql::Result:xxxxxxxxxxxxxxxxx>
エラーが出てしまいます。
```Ruby
#user_controller.rb
# Maildbモデルを10ずつ表示
@maildbs = Maildb.paginate(page: params[:page], per_page: 10)
↑ これは通常通りできる
#personal.html.erb
<%= will_paginate @maildbs %>
#user_controller.rb
# Mysqlに接続
client = Mysql.connect('localhost', 'root', 'パスワード', 'データベース名')
# Maildbモデルを10ずつ表示
@maildbs = client.query("SELECT * FROM テーブル名").paginate(page: params[:page], per_page: 10)
↑ このような形だとエラー
「client.query("SELECT * FROM テーブル名")」でデータ自体はきちんと取れています
#personal.html.erb
<%= will_paginate @maildbs %>
```
  • Ruby

    10255 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    9593 questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

2 行なったことを追記しました

lyzmfeqpxs54

lyzmfeqpxs54 score 172

2017/09/10 13:08  投稿

Mysqlで作成したデータベースをページングして表示する
いつもお世話になります。
現状Railsでgenerateしたモデルをwill_paginateを使用して10ページずつ表示させることには成功している状態です。
RailsでgenerateしたモデルではなくMysqlで作成したデータベースからデータを取り込みwill_paginateを使用してページングしたいと考えているのですが下記のようなエラーが出てしまいます。
undefined method `paginate' for #<Mysql::Result:XXXXXXXXXXX>
質問なのですが、will_paginateはRailsで作成したモデルにしか対応していないということでしょうか。will_paginateで表示できない場合、Mysqlのデータをページングして表示する場合どのようにすればよいのでしょうか。
ご教示いただければ幸いです。
よろしくお願いいたします。
 
 
 
追記  
配列であるMysqlのデータをページングする場合require 'will_paginate/array'を追加すればそのまま動かせるという記事があったので行ってみたのですが  
<%= will_paginate @maildbs %>  
部分で  
undefined method `total_pages' for #<Mysql::Result:xxxxxxxxxxxxxxxxx>  
エラーが出てしまいます。  
 
```Ruby
#user_controller.rb
# Maildbモデルを10ずつ表示
@maildbs = Maildb.paginate(page: params[:page], per_page: 10)
↑ これは通常通りできる
#personal.html.erb
<%= will_paginate @maildbs %>
#user_controller.rb
# Mysqlに接続
client = Mysql.connect('localhost', 'root', 'パスワード', 'データベース名')
# Maildbモデルを10ずつ表示
@maildbs = client.query("SELECT * FROM テーブル名").paginate(page: params[:page], per_page: 10)
↑ このような形だとエラー
「client.query("SELECT * FROM テーブル名")」でデータ自体はきちんと取れています
#personal.html.erb
<%= will_paginate @maildbs %>
```
  • Ruby

    10255 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    9593 questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

1 コードを追記しました

lyzmfeqpxs54

lyzmfeqpxs54 score 172

2017/09/10 10:24  投稿

Mysqlで作成したデータベースをページングして表示する
いつもお世話になります。
現状Railsでgenerateしたモデルをwill_paginateを使用して10ページずつ表示させることには成功している状態です。
RailsでgenerateしたモデルではなくMysqlで作成したデータベースからデータを取り込みwill_paginateを使用してページングしたいと考えているのですが下記のようなエラーが出てしまいます。
undefined method `paginate' for #<Mysql::Result:XXXXXXXXXXX>
質問なのですが、will_paginateはRailsで作成したモデルにしか対応していないということでしょうか。will_paginateで表示できない場合、Mysqlのデータをページングして表示する場合どのようにすればよいのでしょうか。
ご教示いただければ幸いです。
よろしくお願いいたします。
```Ruby
#user_controller.rb
# Maildbモデルを10ずつ表示
@maildbs = Maildb.paginate(page: params[:page], per_page: 10)
↑ これは通常通りできる
#personal.html.erb
<%= will_paginate @maildbs %>
#user_controller.rb
# Mysqlに接続
client = Mysql.connect('localhost', 'root', 'パスワード', 'データベース名')
# Maildbモデルを10ずつ表示
@maildbs = client.query("SELECT * FROM テーブル名").paginate(page: params[:page], per_page: 10)
↑ このような形だとエラー
「client.query("SELECT * FROM テーブル名")」でデータ自体はきちんと取れています
#personal.html.erb
<%= will_paginate @maildbs %>
```
  • Ruby

    10255 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    9593 questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る