繁体   English   中英

如何为Heroku安装Radiant扩展?

[英]How do you install Radiant extensions for Heroku?

我还没有真正找到任何可行的方法。 我知道Heroku不允许子模块/扩展,因此要安装它们,需要做一些替代选择。

我的例子是Radiant Mailer。 通常安装此程序,我执行此操作:

./script/extension install mailer

在Heroku上进行这项工作的替代方法是什么?

我已经尝试过了。

我注意到我的问题仍然存在,因为即使我rm '并wget它回来, git status仍然不承认它在那里。 奇怪..

好吧,这是我找到的最好方法。 随时证明我错了:

手动安装扩展程序,如下所示:

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内置的./script/extension install命令或Ray,则可以忽略此部分,因为它仅适用于手动安装。

为了正确加载扩展,Radiant需要扩展的目录名称以匹配扩展的(类)名称。

匹配规则是标准的Rails骆驼案<→蛇案规则。 例如,对于名为“ 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”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM