I would say leave it alone for now. It does seem weird that it chooses the non-obvious one each time, but some of the big wigs have voiced opinions against the idea of namespacing models in general. And their arguments make sense.
http://m.onkey.org/2007/12/9/namespaced-models http://stackoverflow.com/questions/601768?sort=oldest http://www.strictlyuntyped.com/2008/08/activerecord-can-haz-namespaces.html On Mon, Mar 16, 2009 at 6:16 PM, José Valim <[email protected]> wrote: > > Hi guys, > > Before opening a ticket, I want to be sure if this is a bug or not. > Example: > > class User < ActiveRecord::Base > end > > class Admin::User < ActiveRecord::Base > end > > And then: > > class Account < ActiveRecord::Base > belongs_to :user > end > > When I was calling Account.new.build_user, it was trying to create a > new Admin::User because the default class_name is just "User". To fix > the problem, I had to do: > > class Account < ActiveRecord::Base > belongs_to :user, :class_name => '::User' > end > > It also has problems in the opposite way: > > class User < ActiveRecord::Base > end > > class Admin::User < ActiveRecord::Base > end > > And then: > > class Admin::Account < ActiveRecord::Base > belongs_to :user > end > > Sometimes Admin::Account.build_user is trying to build a ::User and > other times ::Admin::User, because, again the default class_name is > just "User". > > My opinion is that in the first case, the class name should be by > default "::User" and in the second it should be "::Admin::User". > > The thing is, since the patch comes in, it will break apps that are > relying in this wrong behavior. The good point is that the error will > be raised when the application starts. The way it's now, takes quite > sometime for you to discover that Account was trying to build a > Admin::User instead of User. > > Are you in or out for this change? > > Regards, > > José Valim. > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" 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-core?hl=en -~----------~----~----~----~------~----~------~--~---
