To może być bardziej pytanie rubinowe niż pytanie o szynę, ale jestem prawie pewien, że udało mi się to zrobić w aplikacji z rubinem waniliowym.Zmodyfikuj hash ruby (sztywne szyny)
Mam zdefiniowane silne parametry.
def trip_params
params.require(:trip).permit(:name, :date)
end
Teraz otrzymuję te parametry w metodzie sterownika. Chce to zrobić.
def save
trip_params[:name] = 'Modifying name in place'
#trip_params[:name] still equals original value passed
end
To nigdy nie działa. Nazwa nigdy się nie zmienia. BTW: Typ trip_params to ActionController :: Parametry
Jeśli wykonuję standardowy skrypt ruby, to działa.
test = {}
test[:name] = "blah"
test[:name] = "ok"
puts test #{:name=>"ok"}
Czy Trip jest aktywnym zapisem? Może być konieczne jawne zapisanie go w bazie danych: '@ trip.save' – Daiku
Wziąłem część Trip.new. Nie pozwól, aby to rozpraszało. Próbuję zmodyfikować mieszanie ActionController :: Parameters w miejscu. –