2

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

何が間違っているのか理解できません...

4

0 に答える 0