Ich muss Schienen mit einer vorhandenen MSSQL DB verwenden. Ich habe zwei Modelle erstellt - Ordnung und Gegenstände und Assoziation zwischen ihnen geschaffen (1 bis viele)Schienen - ändern Spalte Name im Modell für MS SQL Server
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
In mobile_items Tabelle habe ich eine Spalte mit dem Namen ‚order_no‘. Ich habe versucht, den Verein in Rails zu überprüfen, aber wenn ich dies tun:
order = Order.last
order.items
die Adapter Abfrage der Suche nach ‚order_id‘ läuft (wenn mein Spaltenname ist ‚order_no‘), zB:
EXEC sp_executesql N'SELECT [mobile_items].* FROM [mobile_items] WHERE [mobile_items].[order_id] = @0', N'@0 int', @0 = 9 [["order_id", 9]]
Gibt es eine Möglichkeit, 'order_no' für diese Abfrage zu verwenden? Ich habe schon versucht, diese in Auftragsmodell aber kein Glück:
alias_attribute :order_id, :order_no
nein, immer noch dasselbe - TinyTds :: Fehler: Ungültiger Spaltenname 'order_id'. Bitte beachten Sie, dass ich Gem 'ActiveRecord-SQL-Server-Adapter', '~> 4.2.0' für MS SQL-Verbindung verwenden – 82skynet
@ 82skynet was für Primärschlüssel verwendet wird, "ID" oder etwas anderes? –
es ist 'ID' für beide Tabellen. 'order_no' ist nur eine normale Spalte – 82skynet