Rails アプリケーションは mysql db に接続しますが、1 つのモデル (「顧客」) で別の sql サーバー データベースを使用しています。私のアプリは正常に動作し、すべての顧客を取得できますがCustomer.all
、ページネーションを追加しようとすると、次のエラーが発生します:
Mysql2::Error: Table 'mysql_database.Customers' doesn't exist: SHOW CREATE TABLE `Customers`
何らかの理由で、will_paginate は、SQL サーバー db ではなく、メイン データベース (mysql) のテーブルを検索しています。
私の CustomersController には、次のものがあります。
def index
@customers = Customer.paginate :page=>params[:page], :order=>'name1, name2 asc',
:per_page => 20
respond_to do |format|
format.html # index.html.erb
format.json { render :json => @customers }
end
end
これは、mssql_db に接続する SQL Server モデルです。
class Customer < ActiveRecord::Base
self.primary_key = :CustomerCode
alias_attribute :id, :CustomerCode
has_many :tickets
establish_connection Rails.configuration.database_configuration["mssql_db"]
end
何が間違っているのか理解できません...