代码之家  ›  专栏  ›  技术社区  ›  dpb

rails:如何将符号转换为类

  •  16
  • dpb  · 技术社区  · 15 年前

    在rails中给定一个符号,如何获得类?所以我可以称之为:

    give_class(:post).find(:all)
    

    或类似的。

    2 回复  |  直到 15 年前
        1
  •  46
  •   Matchu    11 年前

    首先,转换为字符串。

    class_name = symbol.to_s
    

    ActiveSupport's Inflector .

    • camelize 将转向 'my_module' 进入 'MyModule'
    • classify 将转向 'my_models' 'MyModel'

    然后使用 constantize

    klass = class_name.constantize
    

    上等的!

        2
  •  4
  •   Community CDub    7 年前

    我在stackoverflow搜索这个答案,但找不到它的文字,所以我想我会问&A我自己:

    基本上有两种方法:

    • .to_.camelize-使用单数形式(:post)时使用
    • .to_.classification-当您有复数形式时使用(:posts)