2011-02-22 54 views
1

我還沒有找到任何有效的工具。我知道Heroku不允許子模塊/擴展,所以爲了安裝它們,需要做一些替代選擇。如何安裝Heroku的Radiant擴展?

我的例子是Radiant Mailer。通常安裝這個,我執行此:

./script/extension install mailer 

什麼是替代使這項工作在Heroku上?

I have tried this already.

我發現我的問題仍然存在,因爲即使我rm'd和wget倒是回來,git status仍然不承認它的存在那裏。奇怪..

+0

我總是遵循鏈接到的過程,它總是爲我工作。 – 2011-02-23 08:42:44

+0

@John,我的問題是該文件夾的命名約定,也有點混亂。但最終的聯繫是修復。 – Trip 2011-02-23 13:42:12

回答

1

好的,所以這是我找到的最好的方法。隨意證明我錯了:

手動安裝您的擴展,像這樣:

cd /path/to/radiant/vendor/extensions 
wget http://github.com/saturnflyer/radiant-help-extension/tarball/master 
tar xzvf saturnflyer-radiant-help-extension-*.tar.gz 
mv saturnflyer-radiant-help-extension-* help 
cd /path/to/radiant 
rake radiant:extensions:help:migrate 
rake radiant:extensions:help:update 

這裏特別說明,什麼是從我的問題的提及鏈接缺少的是這樣的:

如果您使用Radiant的建-in ./script/extension install命令或Ray可以忽略此部分,因爲它僅適用於手動安裝。

爲了正確加載擴展名,Radiant需要擴展名的目錄名稱以匹配擴展名(類)名稱。

匹配規則是標準Rails camelcase <→蛇形規則。例如,對於名爲「Foo」的擴展,擴展目錄名稱必須命名爲「foo」。對於名爲「FooBar」的擴展名,目錄名稱必須是「foo_bar」。如果您未遵循此慣例,Radiant將無法加載擴展程序,並且應用程序無法啓動。遷移數據庫時會出現如下錯誤:

Could not load extension from file: some_extension. 
#<NameError: uninitialized constant SomeExtension> 

如何知道擴展名的真實姓名?對於名稱以「_extension.rb」結尾的文件的擴展名目錄來說。這是擴展的主要加載文件。該擴展名的真實姓名是該結束之前的名稱。在前面的例子中,該文件分別被稱爲「foo_extension.rb」和「foo_bar_extension.rb」。