diff --git a/lib/surus/json/belongs_to_scope_builder.rb b/lib/surus/json/belongs_to_scope_builder.rb index d5d98f8..1ead61b 100644 --- a/lib/surus/json/belongs_to_scope_builder.rb +++ b/lib/surus/json/belongs_to_scope_builder.rb @@ -4,10 +4,18 @@ class BelongsToScopeBuilder < AssociationScopeBuilder def scope s = association .klass - .where("#{quote_column_name association.active_record_primary_key}=#{quote_column_name association.foreign_key}") + .where("#{association_primary_key}=#{association_foreign_key}") s = s.instance_eval(&association.scope) if association.scope s end + + def association_primary_key + "#{association.quoted_table_name}.#{quote_column_name association.active_record_primary_key}" + end + + def association_foreign_key + "#{outside_class.quoted_table_name}.#{quote_column_name association.foreign_key}" + end end end end diff --git a/lib/surus/json/has_many_scope_builder.rb b/lib/surus/json/has_many_scope_builder.rb index c1f3264..5683ea3 100644 --- a/lib/surus/json/has_many_scope_builder.rb +++ b/lib/surus/json/has_many_scope_builder.rb @@ -14,7 +14,7 @@ def outside_primary_key end def association_foreign_key - "#{connection.quote_column_name association.foreign_key}" + "#{association.quoted_table_name}.#{connection.quote_column_name association.foreign_key}" end end end