0
既存のMSSQL DBでRailsを使用する必要があります。私は「ORDER_NO」という名前の列を持っているmobile_itemsテーブルでRails - MS SQLサーバーのモデルの列名を変更
class Order < ActiveRecord::Base
self.table_name = 'mobile_orders'
has_many :items
end
class Item < ActiveRecord::Base
self.table_name = 'mobile_items'
belongs_to :order
end
を注文し、項目と(多くの1)、それらの間の関連付けを作成した - 私は2つのモデルを作成しました。 私はRailsの中に関連をチェックしてみましたが、私はこれを行うとき:
order = Order.last
order.items
(私の列名が「ORDER_NO」の場合)アダプタは例えば、「ORDER_ID」を探してクエリを実行している:
EXEC sp_executesql N'SELECT [mobile_items].* FROM [mobile_items] WHERE [mobile_items].[order_id] = @0', N'@0 int', @0 = 9 [["order_id", 9]]
このクエリに 'order_no'を使用する方法はありますか? 私が注文モデルでこれを試してみましたが、運が:Giudes on belongs_toとAssociations docsに
ルックためforeign_key
オプション:
alias_attribute :order_id, :order_no
いいえ、まだ同じ - TinyTds :: Error:無効な列名 'order_id'。 私は gem 'activerecord-sqlserver-adapter'、 '〜> 4.2.0' MS SQL接続のためのを使用していますのでご注意ください – 82skynet
@ 82skynetプライマリキー、 'id'などに何が使われていますか? –
両方のテーブルの 'id'です。 'order_no'はちょうど普通の列です – 82skynet