Ich habe AWS und Paperclip erfolgreich in einem Modell arbeiten, jetzt versuche ich es zu einem anderen hinzuzufügen. Derzeit bin ich auf diesem Stück Code in meinen Projekten/Form einen undefined method "fields" for nil:NilClass
Fehler bekommen:Büroklammer: undefinierte Methode `Felder 'für Nil: NilClass für @ s3_direct_post.fields
<%= 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| %>
In meinen Projekten Controller habe ich diese private Methode enthalten:
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
und enthalten :image
in meinem Controller params.require()
Leider finde ich nicht viele Threads auf diesen Fehler auf SO und keiner hat eine schlüssige Lösung. Das gleiche Bit Code funktioniert derzeit im anderen Modell, aber es scheint, dass die Methode im Projekt-Controller (nur) nicht gelesen wird? Es ist genau der gleiche Code und Setup wie der Benutzer-Controller. Wie behebe ich das?
Einige zusätzliche Informationen:
ich den Code in application.js Wiederverwendung config/initializers/aws.rb, und ich bin mit dem gleichen Eimer für mehrere Controller (bis jetzt) verwendet wird, als auch wie die gleichen AWS-Anmeldeinformationen, wie ich für das Modell haben, in dem Büroklammer/aws arbeitet
ich habe meinen Server ein paar mal
ich bin mit Schienen 4.2.3, Büroklammer klammer~~POS=HEADCOMP 5.0 und aws-sdk neu gestartet 2.3
Alle zusätzlichen Informationen benötigt werde ich gerne liefern. Thanks :)