在 rails 初始化文件中,有一行用于配置接受符号的活动对象,如下所示:
config.objects += [ :room, :hotel, ..etc ]
这些符号代表我想要配置的类。
我的问题是我正在使用一个 Rails 引擎,它定义了一个我想要配置的 'Blogit::Post' 模块类。如何将此作为符号添加到配置数组中?
在 rails 初始化文件中,有一行用于配置接受符号的活动对象,如下所示:
config.objects += [ :room, :hotel, ..etc ]
这些符号代表我想要配置的类。
我的问题是我正在使用一个 Rails 引擎,它定义了一个我想要配置的 'Blogit::Post' 模块类。如何将此作为符号添加到配置数组中?
您可以通过在 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)