Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #9694: patched_9694_second_patch.diff

File patched_9694_second_patch.diff, 1.1 kB (added by jglauche, 9 months ago)

fixed patch, please test!

  • base.rb

    old new  
    11681168 
    11691169        def type_condition 
    11701170          quoted_inheritance_column = connection.quote_column_name(inheritance_column) 
    1171           type_condition = subclasses.inject("#{table_name}.#{quoted_inheritance_column} = '#{name.demodulize}' ") do |condition, subclass| 
    1172             condition << "OR #{table_name}.#{quoted_inheritance_column} = '#{subclass.name.demodulize}' " 
     1171          type_condition = subclasses.inject(superclass.abstract_class? ? [] : ["#{table_name}.#{quoted_inheritance_column} = '#{name.demodulize}' "]) do |condition, subclass| 
     1172            if subclass.abstract_class?  
     1173              condition << "#{table_name}.#{quoted_inheritance_column} = '#{subclass.name.demodulize}'" 
     1174            else 
     1175              condition 
     1176            end 
    11731177          end 
    11741178 
    1175           " (#{type_condition}) " 
     1179          type_condition.empty? ? nil : " (#{type_condition.join(' OR ')}) " 
    11761180        end 
    11771181 
    11781182        # Guesses the table name, but does not decorate it with prefix and suffix information.