Instantiate classes in Ruby on Rails via String names

How to instantiate classes in Ruby on Rails via dynamic strings, like PHP $class = new $var()


The most simple way to dynamically instantiate a class from String in rails.

On Rails do:

mystring = “My::String::Name” #or mystring = “MyClassName”
myclass = mystring.constantize.new

Errors:

‘NotFoundClass’.constantize
# => NameError: wrong constant name blargle

More info at: http://apidock.com/rails/ActiveSupport/Inflector/constantize

In Ruby without Rails, you can do with:

classname = ‘Module::Class’ #or only Class
classConst = Object.const_get( classname )
object = classConst.new