我还没有找到任何有用的东西。我知道Heroku不允许子模块/扩展,所以为了安装它们,人们需要做一些替代操作。
我的例子是Radiant Mailer。通常,要安装此程序,我会执行以下操作:
./script/extension install mailer有什么替代方案可以让这在Heroku上工作?
我注意到我的问题仍然存在,因为即使我rm'd和wget'd回来了,git status仍然不承认它的存在。
发布于 2011-02-23 08:04:29
好的,这是我找到的最好的方法。尽管证明我是错的:
手动安装扩展,如下所示:
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 camelcase <→snakecase规则。例如,对于名为“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”。
https://stackoverflow.com/questions/5085087
复制相似问题