2014-11-06 29 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