Revert "Fixed bug with polymorphic has_one :as pointing to an STI record"
[#2594 state:open]
This reverts commit 99c103be11
.
This commit is contained in:
parent
e1854e0b19
commit
ddbeb15a5e
|
@ -90,7 +90,7 @@ module ActiveRecord
|
|||
when @reflection.options[:as]
|
||||
@finder_sql =
|
||||
"#{@reflection.quoted_table_name}.#{@reflection.options[:as]}_id = #{owner_quoted_id} AND " +
|
||||
"#{@reflection.quoted_table_name}.#{@reflection.options[:as]}_type = #{@owner.class.quote_value(@owner.class.name.to_s)}"
|
||||
"#{@reflection.quoted_table_name}.#{@reflection.options[:as]}_type = #{@owner.class.quote_value(@owner.class.base_class.name.to_s)}"
|
||||
else
|
||||
@finder_sql = "#{@reflection.quoted_table_name}.#{@reflection.primary_key_name} = #{owner_quoted_id}"
|
||||
end
|
||||
|
|
|
@ -2,11 +2,9 @@ require "cases/helper"
|
|||
require 'models/developer'
|
||||
require 'models/project'
|
||||
require 'models/company'
|
||||
require 'models/sponsor'
|
||||
require 'models/organization'
|
||||
|
||||
class HasOneAssociationsTest < ActiveRecord::TestCase
|
||||
fixtures :accounts, :companies, :developers, :projects, :developers_projects, :organizations, :sponsors
|
||||
fixtures :accounts, :companies, :developers, :projects, :developers_projects
|
||||
|
||||
def setup
|
||||
Account.destroyed_account_ids.clear
|
||||
|
@ -308,9 +306,4 @@ class HasOneAssociationsTest < ActiveRecord::TestCase
|
|||
Firm.find(@firm.id, :include => :account).save!
|
||||
end
|
||||
end
|
||||
|
||||
def test_polymorphic_sti
|
||||
assert_equal organizations(:sponsorable), sponsors(:org_sponsor).sponsorable
|
||||
assert_equal sponsors(:org_sponsor), organizations(:sponsorable).sponsor
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,6 +2,4 @@ nsa:
|
|||
name: No Such Agency
|
||||
discordians:
|
||||
name: Discordians
|
||||
sponsorable:
|
||||
name: We Need Money
|
||||
type: SponsorableOrganization
|
||||
|
||||
|
|
|
@ -7,5 +7,3 @@ boring_club_sponsor_for_groucho:
|
|||
crazy_club_sponsor_for_groucho:
|
||||
sponsor_club: crazy_club
|
||||
sponsorable: some_other_guy (Member)
|
||||
org_sponsor:
|
||||
sponsorable: sponsorable (SponsorableOrganization)
|
|
@ -2,7 +2,3 @@ class Organization < ActiveRecord::Base
|
|||
has_many :member_details
|
||||
has_many :members, :through => :member_details
|
||||
end
|
||||
|
||||
class SponsorableOrganization < Organization
|
||||
has_one :sponsor, :as => :sponsorable
|
||||
end
|
|
@ -284,7 +284,6 @@ ActiveRecord::Schema.define do
|
|||
|
||||
create_table :organizations, :force => true do |t|
|
||||
t.string :name
|
||||
t.string :type
|
||||
end
|
||||
|
||||
create_table :owners, :primary_key => :owner_id ,:force => true do |t|
|
||||
|
|
Loading…
Reference in New Issue