On Oct 16, 10:29 am, erzapito <[email protected]> wrote:
> Hi, I'm working with two models that have a "has_and_belongs_to_many"
> relation.  Both models reside on a database that it is not the default
> one.
>

Have you tried using has many through ? with has many through the join
table is also a rails model, so you have a place to say that the join
table should be in this other database.


Fred
> A < External
>   has_and_belongs_to_many: B
>
> B < External
>   has_and_belongs_to_many: A
>
> Retriving the information for A works perfectly, but when trying to
> "create" an element on A:
>
> "A.B.create(...)"
>
> ActiveRecord tries to create it on the default database. The solution
> was doing:
>
> b = B.find(...)
> A.B << b
>
> But, looking on the sourcecode I've found on the ActiveRecord file
> "has_and_belongs_to_many_association.rb [25:29]"
>
>       def has_primary_key?
>         return @has_primary_key unless @has_primary_key.nil?
>         @has_primary_key =
> (ActiveRecord::Base.connection.supports_primary_key? &&
>           ActiveRecord::Base.connection.primary_key(@reflection.options
> [:join_table]))
>       end
>
> Shouln't it be something like?
>
>       def has_primary_key?
>         return @has_primary_key unless @has_primary_key.nil?
>         @has_primary_key = (@owner.connection.supports_primary_key? &&
>           @owner.connection.primary_key(@reflection.options
> [:join_table]))
>       end
>
> Thank you
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to