给出rails中的符号,我如何获得一个类?所以我可以这样说:
give_class(:post).find(:all)
Run Code Online (Sandbox Code Playgroud)
或类似的.
Mat*_*chu 45
首先,转换为字符串.
class_name = symbol.to_s
Run Code Online (Sandbox Code Playgroud)
从那里,您需要使用ActiveSupport的Inflector提供的方法将字符串格式化为正确的类名.
camelize会'my_module'变成'MyModule'classify会'my_models'变成'MyModel'camelize 考虑到你的代码片段,你更有可能是你想要的那个.
然后使用constantize方法:
klass = class_name.constantize
Run Code Online (Sandbox Code Playgroud)
优雅!
| 归档时间: |
|
| 查看次数: |
8914 次 |
| 最近记录: |