On Apr 6, 2012, at 1:40 PM, Patrick J. Collins wrote:
>> On Apr 6, 2012, at 11:21 AM, Patrick J. Collins wrote:
>>> ... Changing the filename app/admin/users.rb to app/admin/wtfs.rb
>>>
>>> makes this error go away... so--- wtfs indeed!
>
> On Fri, 6 Apr 2012, Justin Ko wrote:
>> I'm pretty sure this is an issue with how Rails autoloads things, I've run
>> into it a few times. Checkout this post:
>
> Well what doesn't make sense to me, is that I would expect having a file
> called wtfs.rb should give a similar error expecting "Wtfs" to be
> defined... But it doesn't..
In Ruby, if you define a namespace class without defining the top-level class
first, you'll get an error:
1.9.3p125 :001 > class Foo::Bar; end
NameError: uninitialized constant Foo
from (irb):1
from /Users/justinko/.rvm/rubies/ruby-1.9.3-p125/bin/irb:16:in `<main>'
So as you can see from your backtrace, the error is generating from
confirmations_controller.rb, which makes sense because it has "class
Users::ConfirmationsController".
If you look further up the backtrace, you'll see activesupport trying to handle
that error with its `load_missing_constant` method. I assume it "searched" for
a file named "users", because the constant was named "Users". WTF doesn't cause
an error, because activesupport doesn't look for it.
Try renaming your namespace from "Users" to "User", which is a more appropriate
name IMO.
>
> Patrick J. Collins
> http://collinatorstudios.com
> _______________________________________________
> rspec-users mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users