2014-11-06 25 views
0

不知道你是否真的这样做。所以如果你愿意,请建议其他方式。如何在种子和耙子任务中使用配置信息? (Rails 4.1.x)

我期待创造一个轨道引擎,您可以为项目创建或使用配置文件在发动机自身配置文件。

此配置文件会包含的东西像角色,组和权限默认名称。

这个想法是,如果你在你的项目中创建了这个配置文件来实现引擎,我们将使用你通过种子文件指定的默认名称,并通过控制器动作分配给它们并检查这些特定的组,角色和权限。

一个例子是,在检查is_admin?时,我看看用户是否属于Admin角色。

那么在你的应用程序,你可能已经调用该Super User。因此,这个配置文件可以派上用场,它将允许您为默认组和角色创建自己的名称,无需担心打破引擎或引擎不得不对硬件进行编码。

您仍然可以使用is_admin?而不是检查Admin它现在知道检查Super User的角色。

所以我的问题是:

  • 如何删除硬编码检查列名,并与您可以在您的应用程序配置或在轨道引擎配置“全局”变量替换它们?
  • 如何允许用户创建自己的配置文件,该引擎知道,当你走在你的应用程序“安装”发动机。

回答

1

揭露发动机的配置是一个非常简单的任务。用我的发动机为例:

实际配置文件。这是您可以设置默认值的地方。

这样,无论是在类中定义的访问通过ComfortableMexicanSofa.config.some_config_option

现在你需要一个很好的方式暴露配置:

这所以它可能有这种接口:

ComfortableMexicanSofa.configure do |config| 
    config.cms_title = 'My Custom title' 
end 

所以,现在你可以有初始化,您可以移动到主机应用程序与发电机:

所以现在你可以使用配置使你的is_admin?方法更加灵活。当然,总有一个选项可以从主机应用程序完全覆盖引擎的东西。

+0

我希望人们不要过度骑东西,因此配置文件。谢谢你。 – SeekingTruth 2014-11-06 20:12:28