Ich habe eine Upload
ActiveModel-Klasse mit einem Attribut: filename
. Da gibt es nur ein Attribut, das Feld leer ließ auf dem Formular, um eine Fehler Erhöhung endet, wenn mit dem folgenden Code in meinem Controller:Der beste Weg, um fehlende Params mit StrongParameters zu umgehen?
class UploadsController < ApplicationController
def create
@upload = Upload.new(upload_params)
# ...
end
private
def upload_params
params.require(:upload).permit(:filename)
end
end
Die beste Abhilfe, die ich habe kommen mit zu rescue
im upload_params
Verfahren zB:
def upload_params
params.require(:upload).permit(:filename) rescue ActionController::Parameters.new
end
Alternativ nehme ich mich ein verstecktes Feld, dass das filename
Feld etwas immer, egal was gesetzt, um sicherzustellen, könnte hinzufügen, zum Beispiel:
= simple_form_for upload do |f|
= f.input :filename, as: :hidden, input_html: { value: '' }
= f.input :filename, as: :file
= f.submit 'Upload'
Gibt es eine bessere Möglichkeit, den Benutzer nicht mit den Formularattributen auszufüllen?