1

私はまだうまくいくものを見つけていません。Heroku ではサブモジュール/拡張機能が許可されていないことを理解しています。そのため、それらをインストールするには、別の方法を実行する必要があります。

私の例はRadiant Mailerです。通常、これをインストールするには、これを実行しました:

./script/extension install mailer

Heroku でこれを機能させるための代替手段は何ですか?

私はすでにこれを試しました。

私の問題が解決しないことに気付きましrmた。変..wgetgit status

4

1 に答える 1

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 の組み込み./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」と呼ばれます。

于 2011-02-23T00:04:29.250 に答える