このタイトルのstackoverflowに関するもう1つの質問があります。これはそれにlinkです。私の質問は少し異なりますが、ほぼ同じ行にあります。database.ymlをオーバーライドするための戦略
私はデータベースに特権を持つ複数のユーザーを持つデータベースを扱います。したがって、データベースのログインの詳細をdatabase.ymlにハードコードすることはできません。代わりに、私はログイン資格情報を収集するHTMLフォームを作成したいと思います。私はこのlinkからerbの方法でdatabase.ymlを書くことができると理解しています。しかし、私のindex.html(自分のフォームを書いたページ)が表示されたら、接続を確立しようとする試みが行われ、ユーザー名とパスワードにnilが指定されているというエラーが表示されます。この問題にどう対処するか教えてください。
私はレールが新ですので、十分な情報を提供していないかどうか尋ねてください。事前に感謝
返信いただきありがとうございます。あなたが提案したようにActiveRecord :: Base.establish_connectionを使ってこの問題を乗り越えることができます。私はActiveRecord :: Baseで接続呼び出しをオーバーライドしようとしています。それ以前は疑いがある。 htmlフォームからログインの詳細を収集している場合、オーバーライドはフォームコントローラで行われます。フォームがヒットする前に、現在空のdatabase.ymlを使用しようとしませんか? – shanmuk1729
そのフォームにアクセスするときにモデルを使用しない場合は、問題はありません。 ActiveRecordは、インスタンスを作成しないかぎり、データベースに接続しません。 – jamuraa
あなたがちょうど言ったことに抵抗することはできませんでした。私はdatabase.ymlの内容を削除し、サーバを起動しました。サーバーはこのエラーで起動しませんでした(私は質問にエラーを追加しています) – shanmuk1729