

下記の質問を行い、設定できたのですが、  
本番環境で画像の投稿を行おうとしたところエラーが起きました。

参考にしていたCloudinaryの設定は間違いなくできているはずなのですが、エラーが起きました。  
renderのデータベースも作成し、renderで環境変数を設定したのですが、うまくいきませんでした。  
こういう時にどちらを注視したほうがいいのでしょうか？  
投稿時のエラーログを載せたgitも添付させていただきます。  
<https://gist.githubusercontent.com/2J445/dbf44b94834975fa4c0b13ea032c3796/raw/a376d2ded17a728c79d5954c7963b821a164e519/gistfile1.txt>

DATABASE_URLはrenderで作成したデータベースの内部データベース URLを代入してきているのですが、合っていますでしょうか？  
[![画像の説明をここに入力](https://i.stack.imgur.com/nOZmO.png)](https://i.stack.imgur.com/nOZmO.png)

下記にデータベースの設定のコードを載せさせていただきます。  
*****の所が自分が設定したデータベース関連のところなのですが、fromDatabase:のname:の箇所もdatabases:のname:の箇所と同一にしないといけないでしょうか？

[code]

    databases:
      - name: *********
        databaseName: *********
        user: *********
        region: singapore
    
    
    services:
      - type: web
        name: *********
        env: ruby
        region: singapore
        buildCommand: "./bin/render-build.sh"
        startCommand: "bundle exec puma -C config/puma.rb"
        envVars:
          - key: <%= ENV['DATABASE_URL'] %>
            fromDatabase:
              name: render_app
              property: connectionString
          - key: <%= ENV['RAILS_MASTER_KEY'] %>
            sync: false
    
[/code]

[Cloudinaryの導入について](https://ja.stackoverflow.com/questions/93957/cloudinary%e3%81%ae%e5%b0%8e%e5%85%a5%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6?noredirect=1#comment107323_93957)


CC BY-SA 4.0
2023-02-27T05:13:13.670
94018
2023-02-28T17:45:47.950
2023-02-27T05:23:29.380
question
ruby-on-rails ruby postgresql database
Cloudinaryかデータベースかどちらの設定が間違っているかわかりません。


貼ってくれてるのはrender.yaml
だと思いますが、このファイルはRailsが解釈するものではなく、ERB（<%=%>）を埋め込むことはできませんし、これではうまくいきません。

<https://render.com/docs/deploy-rails#use-renderyaml-to-deploy>  
ドキュメント記載のものから書き換えているようですが…

>
> *****の所が自分が設定したデータベース関連のところなのですが、fromDatabase:のname:の箇所もdatabases:のname:の箇所と同一にしないといけないでしょうか？

そうですね！

> DATABASE_URLはrenderで作成したデータベースの内部データベース URLを代入してきているのですが、合っていますでしょうか？

間違っています。  
下記のようになると思います。設定の意味は

  * 環境変数 DATABASE_URL に
  * 指定した名前のデータベースサービスの
  * connectionStringプロパティの値をセットする（[プロパティ一覧）

です。

[code]

        envVars:
          - key: DATABASE_URL
            fromDatabase:
              name: databases の name: で設定している名前
              property: connectionString
    
[/code]

また、RAILS_MASTER_KEYも <%=%> は要りません。

[code]

          - key: RAILS_MASTER_KEY
            sync: false
    
[/code]

おそらく、先のcloudinaryの設定のYAMLでなぜだめだったのか、変更によってなぜうごいたのかをきちんと理解できていないため、ごっちゃになってるのだと思います。


CC BY-SA 4.0
2023-02-27T08:12:45.040
94025
2023-02-27T08:22:04.513
2023-02-27T08:22:04.513
55905
55905
94018
answer


解決しました。  
Cloudinaryのgemを更新し、下記の質問のcredentials.yml.encの設定：2の書き方で設定できました。

[credentials.yml.encの設定によりrails
consoleがエラーが起こる](https://ja.stackoverflow.com/questions/94039/credentials-yml-
enc%e3%81%ae%e8%a8%ad%e5%ae%9a%e3%81%ab%e3%82%88%e3%82%8arails-
console%e3%81%8c%e3%82%a8%e3%83%a9%e3%83%bc%e3%81%8c%e8%b5%b7%e3%81%93%e3%82%8b/94040#94040)


CC BY-SA 4.0
2023-02-28T17:45:47.950
94045
2023-02-28T17:45:47.950
94018
answer