Wenn ich versuche, neues Rekordbild zu erstellen, lädt nicht hoch, aber wenn ich versuche, alles zu bearbeiten funktioniert gut. Keine Fehler, nach dem Erstellen habe ich nach dem Update keine DB in der DB Ich habe einen Link zu einem Bild und alles in Ordnung. Was habe ich falsch gemacht? Bevor ich form_for benutzt habe und alles gut funktioniert, ändere ich form_for in simple_form. Vielleicht ein Problem hier?Bild lädt nicht carriewave/simple_form/Rails
Controller:
def create
#byebug
@bar = current_user.bars.new(bar_params)
if @bar.save
UserMailer.admin_verify_email(@bar.id).deliver_now
flash[:success] = t(".bar_created_successfully")
# if admin_verified add bar to the search bos
if @bar.admin_verified
Barsearchsuggestion.index_bar(@bar)
redirect_to bars_path(my_bar: true)
else
redirect_to bar_status_user_path(current_user)
end
else
flash.now[:alert] = @bar.errors.full_messages
render 'users/add_bar'
end
end
def edit
@bar = Bar.find(params[:id])
end
def update
@bar = Bar.find(params[:id])
if @bar.update_attributes(bar_params)
flash[:success] = "Bar updated."
redirect_to bar_status_user_path(current_user)
else
flash.now[:error] = I18n.t("simple_form.error_notification.default_message")
# flash[:error] = @bar.errors.to_array
render 'edit'
end
end
private
def bar_params
params.require(:bar).permit!
end
Ausblick:
=simple_form_for(@bar) do |f|
.form-group
= f.label :profile_picture
= t(".profile_picture_ext_html")
%br
= image_tag f.object.profile_picture.bar_detail.url
= f.file_field :profile_picture, class: 'form-control'
Modell:
mount_uploader :profile_picture, BarPictureUploader
Aber warum Update Aktion funktioniert gut mit diesem "(params.require (: bar) .permit!)"? Ich habe ungefähr 50 Felder in meiner Form. Alle von ihnen gespeichert in DB erfolgreich nur Bild wird nicht gespeichert? Das Bild kann nur gespeichert werden, wenn die Aktualisierungsaktion ausgeführt wird. –
Bevor ich form_for verwendet habe und alles einwandfrei funktioniert, ändere ich form_for in simple_form. Vielleicht Problem hier –