Ожидание хэша params, но получение строки (Rails) - PullRequest
1 голос
/ 29 апреля 2011

У меня есть типичная форма регистрации, которая имеет, например, три поля: логин, пароль и адрес электронной почты.Мы используем помощники форм rails, поэтому мы ожидаем, что они придут к нам в хэше с именем user.

Что-то близкое к тому, что мы ожидали:

Параметры:{"action" => "new", "controller" => "users", "user" => {"password" => "[FILTERED]", "login" => "new_user_login", "email" =>"new_user_email"}}

Затем мы делаем такие вещи, как: params [: user] .merge (SOME_HASH) # некоторые другие вещи, которые мы хотим сохранить в пользовательском объекте

Несколькораз в день мы получаем "неопределенный метод` merge 'для 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.

...