AWSとPaperclipを1つのモデルで正常に動作させました。別のモデルに追加しようとしています。現在、私は私のプロジェクト/フォームでのコードのこのビットにundefined method "fields" for nil:NilClass
エラーを取得しています:私のプロジェクトのコントローラでPaperclip:未定義メソッド `fields for nil:@ s3_direct_post.fieldsのNilClass
<%= form_for @project, html: { multipart: true, class: "directUpload", data: {
'form-data' => (@s3_direct_post.fields), // <-- err: @s3_direct_post is nil
'url' => @s3_direct_post.url,
'host' => URI.parse(@s3_direct_post.url).host }
} do |f| %>
私は、このプライベートメソッドが含まれている:
def set_s3_direct_post
@s3_direct_post = S3_BUCKET.presigned_post(key: "uploads/#{SecureRandom.uuid}/${filename}", success_action_status: '201', acl: 'public-read')
end
を、私のコントローラで:image
を含まparams.require()
残念ながら、私はこのエラーで多くのスレッドを見つけることはできません。決定的な解決策はありません。このコードは現在、他のモデルでもうまく動作していますが、プロジェクトコントローラ(のみ)のメソッドが読み込まれていないようです。これは、ユーザーコントローラとまったく同じコードと設定です。これをどうやって解決するのですか?
いくつかの追加情報:
私は、設定/初期化子/ aws.rb application.jsでコードを再利用しています、と私は(今のところ)複数のコントローラに同じバケットを使用しています、だけでなく私はペーパークリップ/ AWSは、私は私のサーバー、私はレールに4.2.3を使用しています数回
を再起動した
作業したモデルのためにやったのと同じAWSの資格として、5.0およびAWS-SDKをクリップ2.3
追加情報が必要です。私が提供したいと思います。感謝:)