在 Rails 初始化文件中,有一行用于配置接受符号的事件对象,如下所示:
config.objects += [ :room, :hotel, ..etc ]
这些符号代表我想要配置的类。
我的问题是我使用的是定义了我想要配置的“Blogit::Post”模块类的 Rails 引擎。如何将其作为符号添加到配置数组?
最佳答案
您可以通过向 config.objects 添加下划线或正斜杠来控制字符串分类中的驼峰式大小写和命名空间。
正斜杠归类到命名空间:
:"blogit/post".classify #=> Blogit::Post
下划线归类为驼峰式:
:blogit_post.classify #=> BlogitPost
所以在你的情况下,解决方案是:
config.objects += [ :room, :hotel, :"blogit/post", ..etc ]
或者,如果您使用 ruby 2.0,则可以使用更简洁的数组符号实例化方式:
config.objects += %i(room hotel blogit/post)
关于ruby-on-rails - 如何将模块类名转换为 Rails 中的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18296079/