Comments (6)
I've run into this same problem that I documented in #28 before I saw this. Mine involves using :class => 'ActiveRecord::Base'
notation, which I prefer to the slash. Your fix handles this notation as well. +1
from factory_bot.
Hey. That issue should be definitely fixed in master.
Here is my patch: http://github.com/mlomnicki/factory_girl/tree/namespaced_models_fix
It find easier to just use String.constantize then reinventing the wheel...
from factory_bot.
Awesome, thanks for fixing this.
As for String#constantize
, I agree that it's much easier to do that than to pull the Object#const_get
dance, but it should be noted that using constantize
adds an implicit dependency on ActiveSupport. IMHO the difference between these two lines doesn't warrant the increased coupling.
foo.constantize
foo.split('::').inject(Object) { |o, str| o.const_get(str) }
Looking at the source though, it seems that AS is required in lib/factory_girl.rb
already, so I'm not sure where factory_girl depends on it elsewhere.
Just trying to get into the rails3 decoupling spirit. :)
from factory_bot.
Good point with decoupling, I'll definitely fix it.
foo.split('::').inject(Object) { |o, str| o.const_get(str) }
Actually it doesn't handle 'admin/user' forms. In my opinion there should be constantize method available in factory_girl. We can use constantize if defined already or implement own otherwise.
Just like here http://github.com/svenfuchs/steam/blob/master/lib/core_ext/ruby/string/camelize.rb
What do you think?
from factory_bot.
Yeah that sounds good; just steal rails' implementation unless we already have it available. +1
from factory_bot.
thanks tdunn
from factory_bot.
Related Issues (20)
- Cannot create Factory with multiple traits got (ArgumentError Exception: wrong number of arguments (given 1, expected 0)) Ruby 3.0, Rails 6.1.72, factory_bot_rails 6.1.0 #408 HOT 2
- should factories validate their callbacks? HOT 2
- Setting primary key when building model doesn't set associated primary key HOT 2
- `before(:create)` not executed in expected order HOT 2
- Question: Possible to get reference to the build_class from initialize_with? HOT 2
- Path collisions `docs/src/{SUMMARY,summary}.md` HOT 1
- Associations with Rails Engine lead to ActiveRecord::RecordInvalid
- Raise an error if `sequence` is defined for attribute with auto-incrementing sequence in the DB
- Underscores being removed from class name during tests HOT 7
- Associations blocks are being executed with invalid data at attributes_for HOT 2
- How do you do inline association attribute overrides when your association doesnt match the factory name? HOT 2
- Sponsored issue: test creating support request
- https://thoughtbot.github.io/factory_bot/ref/lint.html has a dead link
- Getting Duplication error
- Allow overriding of `FactoryBot.automatically_define_enum_traits` on a per-factory basis HOT 2
- Updating from 6.2.0 -> 6.4.2 is a breaking change for us: "Do not define "id". Instead, rely on the database to generate it." HOT 7
- Configurable ID factory for build_stubbed
- attributes_for does not use initialize_with like the docs states it does HOT 2
- Factory Bot 6.4.5: Syntax error with Ruby < 2.7, but the ruby gem requirement is still `>= 2.5.0` HOT 9
- build_stubbed does not fill id for uuid column type with SQLServer
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from factory_bot.