Ich habe ein Hash-Feld in meinem Rails-Modell und versuche, es zu aktualisieren. Das Attribut detail
wurde zuerst durch eine Migration als text
Typ generiert. Nachwort, in meinem Modell, wurde es als hash
durch die store :detail
EigenschaftNicht erlaubte Parameter mit Hashes in Rails
class Request < ActiveRecord::Base
store :detail
end
Meine strong_params sind als solche:
params.require(:request).permit(:name, :action, :detail => {})
Wenn jedoch meine Parameter durchlaufen als
Parameters: {"request"=>{"name"=>"temp", "action"=>"create", "detail"=>{"test"=>"fdsf"}}}
Mir wurde gesagt, dass es eine Unpermitted parameter: test
, trotz der test
Parameter ist Teil der detail
Hash.
Wie behebe ich das? Vielen Dank!
ich tun, um Ihre Whitelist-Lösung versucht interpretieren können und das gleiche Problem tauchte ... es scheint bevorzugt aber mit wie ich nicht alle Werte auflisten muss. – uccblack
Haben Sie den 'Bearbeiten' Teil meiner Antwort überprüft? ;) Wie der Wert in der DB gespeichert wird, wird nicht von den Parametern übernommen, die Sie für Ihr Objekt zulassen. –