Вы используете нестандартные маршруты?Или вы просто делаете resources :users
?Лучше беги rake routes
./users/new
обычно GET, что имеет смысл, так как вы выбираете объект.Действие create
является единственным POST, и оно отображается на /users
.Выполнение /users/new
как POST прерывает REST.
Данные POST не допускаются для метода GET.Любые параметры будут помещены в строку запроса в URL.Эти параметры по-прежнему будут отображаться в хеше params
.
Редактировать
Если вы действительно пытаетесь создать пользователя с помощью этого вызова REST, вам необходимоPOST для http://localhost:3000/users, не http://localhost:3000/users/new
Редактировать
К сожалению, я не знаю достаточно о том, как Flash отправляет POST-запросычтобы сказать вам, почему ваши параметры не встречаются.Тем не менее, если вы пытаетесь добраться до формы, вам определенно нужен GET для http://localhost:3000/users/new. Вы говорите, что вы можете очень просто подобрать переменную при выполнении GET, верно?Так что вам не нужно делать POST.
Если вы не хотите, чтобы пользователь мог редактировать счет, вы сохраняете значение в переменной в контроллере, и когда вы визуализируетевид, вы помещаете это значение в нередактируемый элемент, например, в отключенное текстовое поле или, возможно, просто в метку.
Редактировать
Если вы можете понять, как передавать данные Post из Flash в Rails, вам нужно сделать POST для users_url
, иЗатем вы можете изменить свой метод create
, чтобы отправить обратно идентификатор пользователя, который был создан.Затем, когда вы получите это обратно, вы можете сделать еще один вызов, чтобы отредактировать пользователя с этим идентификатором, оставив поле счета отключенным.Желаем удачи.