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

Ticket #9694: patched_9694_patch.diff

File patched_9694_patch.diff, 1.0 kB (added by jglauche, 10 months ago)

fixed the previous patch

  • 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            subclass.abstract_class? ? condition : condition << "#{table_name}.#{quoted_inheritance_column} = '#{subclass.name.demodulize}'
    11731173          end 
    11741174 
    1175           " (#{type_condition}) " 
     1175          type_condition.empty? ? nil : " (#{type_condition.join(' OR ')}) " 
    11761176        end 
    11771177 
    11781178        # Guesses the table name, but does not decorate it with prefix and suffix information.