Starke Parameter für verschachtelte Attribute geben "unzulässige Parameter" zurück, wenn das Array leer ist

Angenommen, ein Benutzermodell verwendet Rails4 mit strong_parameters.

class User < ActiveRecord::Base
  has_secure_password

 accepts_nested_attributes_for :identity

//  rest of code omitted for brevity
end

Wenn ich mich auf die Anleitung beziehe, sollte ich dazu in der Lage sein

def user_params
    params.require(:user).permit(:email, identity_attributes: [])
end

Ermöglichen einer Massenzuweisung jedes identitätsattributs, unabhängig von dessen Namen oder Nummer. Aber das läuft in einem "Unpermitted parameters: identity_attributes"

Aber wenn ich die identity_attributes spezifiziere, funktioniert es

def user_params
    params.require(:user).permit(:email, identity_attributes: [:last_name, :first_name])
end

Ich habe viele Attribute in Identity, ich könnte sie über User massenweise zuweisen, ohne sie alle anzugeben.

Vermisse ich etwas? Ist es ein Bug?

Prost

Antworten auf die Frage(1)

Ihre Antwort auf die Frage