On Friday, January 19, 2018 at 8:47:29 AM UTC, 정인중 wrote:

>      Failure/Error: it { should validate_presence_of(:email) }
> 
> 
>      LoadError:
>        Unable to autoload constant USER, expected 
> /Users/injung/Github/api/app/models/user.rb to define it
> 

Are there any references to USER (all caps) anywhere in your app? The next one 
of the backtrack would be a good place to look. When playing around in the 
console rails only loads files that it needs to load, whereas if my memory is 
correct in tests it loads everything upfront. In particular if you have (for 
example) a controller that you don’t use, maybe an experiment that didn’t work 
out that references USER, then this wouldn’t be triggered in develipment unless 
you accessed that controller but would be in tests. 

> 
> However, my user.rb file is located exactly where the error message was 
> mentioned.
> For reference, the test was written as follows.
> 
> 
> require_relative '../../app/models/user'
> 
> 
> describe User, type: :model do
>   context 'validation' do
>     it { should validate_presence_of(:author) }
>     it { should validate_presence_of(:email) }
>   end
> end
> 
> 
> The user model is as follows.
> 
> 
> 
> class User < ApplicationRecord
>   self.table_name = 'servicename_user'
> end
> 
> After some search, I found out that If my table name is servicename_user, my 
> user model should be in app/models/servicename/user, but I do not want to do 
> like this. Is there any good way?
> It is difficult to change the table name because it references a lot on older 
> systems.

The table name shouldn’t matter as far as constant lookup is concerned and 
looks like you’re setting it correctly. 

Fred

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/c983238f-8517-471d-bc45-6cded3b42eef%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to