2016-04-28 8 views
3

私はOTPアプリケーション(実際にはChicagBoss)を持っています。私はPhoenixアプリケーションを(ちょっとカジュアルなOTPアプリとして)取り入れようとしています。MIXアプリの設定ファイル(OTPアプリ)

ほとんどのアプリケーションが起動すると思いますが、設定ファイルがないためにエラーが発生しました。 MIXアプリケーションに外部から設定ファイルを渡すには?特に私はrebar.Howからディレクトリを提供するためにそれを実行しようとすると?

+2

エラーとは何ですか?どの設定ファイルが失われているといっていましたか?結果としてどのアプリケーションを開始できませんでしたか?このような情報がなければ、手助けするのは難しいです。 –

+0

レポ申請でした(私が思うエクトに関連しています)。しかし、私はそれらのconifgタプルをconfigファイルで見た。私は設定ファイルについてミックスアプリに知らせる方法を知らない。 – Saczew

答えて

2

Erlangプロジェクトを使用する場合は、ミックス設定を使用するのではなく、代わりに設定を使用してください。あなたの特定の例ではboss.configファイルです。

config :my_app, MyApp.Repo, 
    adapter: Ecto.Adapters.Postgres 
:あなたが何かを持っているミックスの設定ファイルで

application:get_all_env(app). 

:Erlangで

[{app, Options}, {second_app, Options}]. 

はあなたが持つ特定のアプリケーションの設定を確認することができますシェル:boss.configでは、タプルのリストを持っています

で設定を確認できます。

Application.get_all_env(:my_app) 

あなたがする必要があることは、ElixirからErlangへのconfigsを翻訳してboss.configの中に入れることだけです。例えば、上記からエクトアダプタはなる:

[...other apps..., 
{my_app, [{'Elixir.MyApp.Repo', 
      [ 
      {adapter, 'Elixir.Ecto.Adapters.Postgres'} 
      ]}]}, 
...other apps... 
]. 

ちょうど foo: "bar"はエリクサー Foo[{foo, <<"bar">>}]とモジュール名はアーラン 'Elixir.Foo'における原子であるキーワードリストであることを覚えておいてください。

第2のオプションは、シカゴ・ボスとフェニックスの両方を引き付けるエリクシール傘プロジェクトを使用することです。この場合、ボスの設定をElixirに変換する必要があります。

+2

私はこれがまさに私が探していたものだと思います。 Dzięki! – Saczew

関連する問題