Ich habe das gleiche Problem wie dieses one_destroy funktioniert nicht in Coocon gem mit Rails 4
Aber diese Lösung hat mir nicht geholfen. Hier sind meine starken params:
def request_params
params.require(:request).permit(:name, :address, :phone, :mobile, :type,
:filled_cartridges_attributes => [:cartridge_name,:client_id,,
\t \t \t \t :count,:_destroy,:id], \t \t \t \t \t \t \t
So habe ich: _destroy und: id. Der Typ im vorherigen hat vergessen hinzuzufügen: ID zu starken params. Das Hinzufügen einer ID löste sein Problem.
Hier ist meine Anfrage Modell:
has_many :filled_cartridges, inverse_of: :request, dependent: :destroy
\t accepts_nested_attributes_for :filled_cartridges, :reject_if => :all_blank, allow_destroy: true
Und so params aussehen wie nach der Einreichung:
request:
...some params....
filled_cartridges_attributes: !ruby/hash:ActionController::Parameters
'0': !ruby/hash:ActionController::Parameters
cartridge_name: HP LaserJet3000
_destroy: 'false'
id: '1'
'2': !ruby/hash:ActionController::Parameters
cartridge_name: new 9
_destroy: '1'
id: '13'
hier t er 2. sollte zerstört werden. Aber es tut es nicht.
Wie weisen Sie dem Modell Parameter zu? – BroiSatse
@BroiSatse was meinst du? – yerassyl
Sie haben Ihre Parameter in Ihrem Controller, aber was machen Sie mit ihnen? Können Sie die Controller-Aktion anzeigen? Wird das erste Objekt auch aktualisiert? – BroiSatse