Ho lo stesso problema come questo one_destroy non funziona in Coocon gioiello con Rails 4
Ma questa soluzione non mi ha aiutato. Qui sono i miei params forti:
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
Così ho: _destroy e: id. Il ragazzo nel precedente ha dimenticato di aggiungere: id a parametri forti. Aggiungere un ID ha risolto il suo problema.
Ecco il mio modello di richiesta:
has_many :filled_cartridges, inverse_of: :request, dependent: :destroy
\t accepts_nested_attributes_for :filled_cartridges, :reject_if => :all_blank, allow_destroy: true
e questo è come params simile dopo la presentazione:
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'
Qui t il 2 ° dovrebbe essere distrutto. Ma non è così.
Come si assegnano i parametri al modello? – BroiSatse
@BroiSatse cosa intendi? – yerassyl
Hai i tuoi parametri nel controller, ma cosa fai con loro? Potresti mostrare l'azione del controller? Inoltre, il primo oggetto è aggiornato? – BroiSatse