Я искал часы и не нашел ничего, что помогло бы.
Что я хочу сделать:
Мне нужно вызвать метод check_login (как показано ниже), которому нужны параметры.
redirect_to check_login_users_url(
:user => {:name => input[1], :password => input [2] },
:stylesheet => 'scaffold',
:method => :get)
Дело в том, что эти параметры отправляются в вызове метода, как в строке «Перенаправлено на» ниже.
Processing ApplicationController#execute(for 127.0.0.1 at 2009-12-19 00:28:40) [POST]
Parameters: {"command"=>{"line"=>"log dodo wg"}, "authenticity_token"=> <...token>}
Redirected to http://localhost:3000/benutzer/check_login?method=get&stylesheet=scaffold&user%5Bname%5D=dodo&user%5Bpassword%5D=wg
Completed in 9ms (DB: 0) | 302 Found [http://localhost/execute]
Я хочу, чтобы рельсы не помещали параметры в URL-адрес, а вместо этого передавали их скрыто.
Когда я отправляю форму, созданную с помощью form_for, в URL-адресе ничего нет, поэтому я предполагаю, что это должно быть возможно.
Подскажите, как это сделать.
Предпринятые шаги
- Пробовал разные "html-глаголы": получить, поставить, опубликовать - без разницы. Хотя вызов
check_loginдействительно короткий, URL-адрес с параметрами отображается в моей консоли. - создать переменную экземпляра и передать ее как параметр (странно, тоже не сработало)
- смотреть, как
form_forработает - безрезультатно, понятия не имею
//edit:
Спасибо за вашу помощь. Возможно, я недостаточно подробно изложил свою проблему. У меня есть text_field, в котором я ввожу короткие команды (экспериментально). Его форма вызывает execute в AppController, что в случае логин-данных выполняет redirect_to check_login. Мне не нужен доступ к веб-странице, я просто хочу запустить метод. Мне понравилась идея поместить его в :flash, но мне интересно, есть ли более «аккуратный» способ передать скрытые данные.
form_forэтого не делает, но как? - person Dodo   schedule 19.12.2009