hi,
I have the models:
order_item.rb: class OrderItem < ActiveRecord::Base end
foreign_item.rb: class ForeignItem < OrderItem has_many :purchased_items end
retailler1_item.rb class Retailer1Item < ForeignItem end
retailler2_item.rb class Retailer2Item < ForeignItem end
purchased_item.rb: class PurchasedItem < ActiveRecord::Base belongs_to :foreign_item end
Now I have an instance of PurchasedItem and would like to get its foreign_item:
foreign_item = purchased_item.foreign_item (purchased_item.foreign_item_id == 100, and the related foreign_item has type == 'Retailer1Item' or type == 'Retailer2Item')
The sql-query should look like: "SELECT FROM order_items WHERE order_items.id = 100 AND (order_items.type = 'ForeignItem' OR order_items.type = 'Retailer1Item' OR order_items.type = 'Retailer2Item')"
but this is executed:
[4;36;1mForeignItem Columns (0.007000) [0m [0;1mSHOW FIELDS FROM `order_items` [0m [4;35;1mForeignItem Load (0.001000) [0m [0mSELECT * FROM `order_items` WHERE (`order_items`.`id` = 100) AND ( (`order_items`.`type` = 'ForeignItem' ) ) [0m
Thus, the foreign_item cannot be found. The same when I explicitly use ForeignItem.find
What can I do?
Luma