0

Gmailアカウントのアカウントとパスワードを本番アプリの設定ファイルに入れたくありません。

むしろ、この情報がgitリポジトリに保存されない別のymlファイルに含まれるように設定したいと思います。これは、保護する必要のある他のデータを使用して行いますが、action_mailerを使用して簡単に行う方法はわかりません。

言い換えれば、action_mailerにenvironments/production.rb構成ファイルからではなくaction_mailer_config.ymlのようなものから構成情報を読み取らせたいのです。

4

3 に答える 3

0

この要件は最近、railscastで取り上げられました。http://railscasts.com/episodes/85-yaml-configuration-revised

代替の宝石のコメントを確認してください。

于 2012-10-22T17:24:45.470 に答える
0

環境変数を割り当てる初期化ファイルを作成するだけです。したがって、本番環境では次のようになります。

   config.action_mailer.smtp_settings = {
    address: "smtp.gmail.com",
    port: 587,
    domain: "chicheng.com.tw",
    authentication: "plain",
    enable_starttls_auto: true,
    user_name: ENV["GMAIL_USERNAME"],
    password: ENV["GMAIL_PASSWORD"],
    :openssl_verify_mode  => 'none'
    }

次に、次のようにユーザー名とパスワードを割り当てる初期化ファイルを追加します。

ENV["GMAIL_USERNAME"] = "your_username@gmail.com"
ENV["GMAIL_PASSWORD"] = "your_password"

覚えておくべき重要なことの1つは、この初期化ファイルをgitignoreに追加することです。次に、このファイルをプッシュするときに、このファイルが含まれていることを手動で確認する必要があります。

正直なところ、別のファイルを使用するのではなく、サーバーに直接ENVを設定することをお勧めします。このようにして、ファイルが誤ってプッシュされることを心配する必要はありません。

于 2012-10-22T18:23:49.660 に答える
0

これは古い質問なので、すでに答えがあるかもしれませんが、私はHerokuを使用してデプロイし、CLIから構成変数(ENVなど)を設定できるようにしました。プロバイダーが同様の実装を許可しているかどうかを確認する価値があります。それは物事をずっと簡単にしました。 これは、はるかに優れた説明のある記事です。

于 2014-02-19T00:56:03.060 に答える