Ich habe ActiveRecord-Modell mit persistent Name Attribut und das virtuelle Attribut.Rails starke Parameter - Akzeptieren des virtuellen Attributs
class MyModel < ActiveRecord::Base
validates :name, length: { minimum: 1 }, presence: true
def virtual_attr=(value)
# set something
end
def virtual_attr
# get something
end
end
In meinem Controller ich stark Parameter am Angabe:
def my_model_params
params.permit(:name, :virtual_attr)
end
Wenn ich versuche, mein Modell zu erstellen/aktualisieren, enthält my_model_params
nur einen Namen, während ich weiß, dass params[:virtual_attr]
den Wert hat, dass ich an den Controller übergeben. Es scheint, als ob es nur herausgefiltert wird. Was mache ich falsch?
Sie bitte nach, was params Sie bekommen auf der Konsole komplett params Hash –
@Deepak hier ist params-Hash : '{" name "=>" Neu "," virtual_attr "=> {" enable "=>" false "," start "=>" false "}," controller "=>" mein_modell "," action "= > "create"} '. Es ist alles da – alexs333