the documentation for ActionController::Parameters for the require
method bei der Suche des I followiing lesenSchienen 4 - Action nicht 2 Schlüssel erfordern, können
wenn ein Array von Tasten gegeben, versucht das Verfahren, einen jeden von ihnen, um zu verlangen. Wenn es erfolgreich ist, wird ein Array mit den jeweiligen Rückgabewerte zurückgegeben:
params = ActionController::Parameters.new(user: { ... }, profile: { ... }) user_params, profile_params = params.require(:user, :profile)
aber wenn ich diesen Code ausführen mit rails console
, meine Ausgabe ist sehr unterschiedlich
[70] pry(main)> params = ActionController::Parameters.new(user: { a: 1 }, profile: { b: 2 })
=> {"user"=>{"a"=>1}, "profile"=>{"b"=>2}}
[71] pry(main)> user_params, profile_params = params.require(:user, :profile)
ArgumentError: wrong number of arguments (2 for 1)
from /home/myuser/.rbenv/versions/2.1.6/lib/ruby/gems/2.1.0/gems/actionpack-4.2.1/lib/action_controller/metal/strong_parameters.rb:244:in `require'
Als ich das las when given an array of keys
und Säge Zum Beispiel dachte ich, dass sie beim Schreiben des Beispiels vielleicht einen Fehler gemacht haben, also habe ich das auch versucht, aber es hat auch nicht funktioniert.
[72] pry(main)> user_params, profile_params = params.require([:user, :profile])
ActionController::ParameterMissing: param is missing or the value is empty: [:user, :profile]
from /home/myuser/.rbenv/versions/2.1.6/lib/ruby/gems/2.1.0/gems/actionpack-4.2.1/lib/action_controller/metal/strong_parameters.rb:249:in `require'
Was geht hier vor?
AUTSCH! Dank dafür! Kennen Sie zufällig einen Weg, dies auf Rails 4 zu erreichen? –
leider nicht, sorry. – sevenseacat