How we can instantiate class from it's name string in Ruby-on-Rails?
For example we have it's name in database in format like "ClassName" or "my_super_class_name".
How we can create object from it?
Solution:
Was looking for it myself, but not found, so here it is. Ruby-on-Rails API Method
name = "ClassName" instance = name.constantize.new
It can be even not formatted, we can user string method .classify
name = "my_super_class" instance = name.classify.constantize.new
Of course maybe this is not very 'Rails way', but it solves it's purpose.
klass = Object.const_get "ClassName"
about class methods
class KlassExample def self.klass_method puts "Hello World from Class method" end end klass = Object.const_get "KlassExample" klass.klass_method irb(main):061:0> klass.klass_method Hello World from Class method
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With