Aus irgendeinem Grund, wenn ich mein Formular absende und meine Benutzerprofil Datensatz aktualisieren, haben meine Benutzerprofil Datensätze alle anderen Spalten auf Null aus irgendeinem Grund aktualisiert.Rails 5 starke Parameter aktualisieren Datensätze andere Spalten zu Null
Nehmen wir an, User.last.user_profile hat ein Attribut "linkedin_url" und es ist auf "www.yahoo.com" eingestellt. Sobald ich das Formular abschicke, wird der Benutzer: Telefonnummer und UserProfile: Work_Adresse,: Work_Zipcode wird aktualisiert, aber die "linkedin_url" wird auf Null gesetzt. Ich weiß nicht warum!
class UserProfilesController < ApplicationController
def update
@user = User.last
if @user.update(user_profile_params)
respond_to do |format|
format.html {
redirect_to user_profile_path(@user)
}
format.json {
render :show, status: :ok, location: @preference
}
end
end
end
def user_profile_params
params.require(:user).permit(:phone_number, user_profile_attributes: [:work_address, :work_zipcode])
end
Form
= form_for @user, url: user_profile_path(@user), method: :put do |f|
= f.fields_for :user_profile do |ff|
= ff.label :work_address
%br
= ff.text_field :work_address
%br
= ff.label :work_zipcode
%br
= ff.text_field :work_zipcode
%br
= f.label :phone_number
%br
= f.text_field :phone_number
%br
= f.submit "Submit", class: "btn"
fügen Sie einfach die linkedin_url zu den akzeptierten Attributen hinzu, params.require (: user) .permit (: phone_number, user_profile_attributes: [: work_address,: work_zipcode,: linkedin_url]) –