Имам типичен формуляр за регистрация, който има например три полета: вход, парола и имейл. Ние използваме помощници за формуляри на rails, така че очакваме те да дойдат при нас в хеш наименуван потребител.
Нещо близко до това, което бихме очаквали:
Параметри: {"action"=>"new", "controller"=>"users", "user"=>{"password"=>"[FILTERED]", "login"=>"new_user_login", "email"=>"new_user_email"}}
След това правим неща като: params[:user].merge(SOME_HASH) # някои други неща, които искаме да запазим в потребителския обект
Няколко пъти на ден получаваме „недефиниран метод „сливане“ за String“ и гледайки тези заявки, параметрите вместо това идват като:
Параметри: {"action"=>"new", "controller"=>"users", "user"=>"login=new_user_login&email=new_user_email&password=[FILTERED]"}
params[:user], който очакваме да бъде хеш, идва като единичен низ на заявка, което води до грешката.
Някой друг виждал ли е това в своите регистрационни файлове? Идва от същата форма като другите и е валиден POST с набор authenticity_token и т.н. И като потърсихме това влизане в нашата база данни, открихме, че потребителят е опитал отново заявката и е успял.
Може ли грешката да е и в браузъра? Това лице беше Firefox 3.6 на Mac.