[英]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.