TL; Версия DR: Используйте форму.
Вы никогда не сможете полностью скрыть параметры, можно использовать инструменты для мониторинга запросов и просмотра данных / параметров публикации. Однако вы можете запутать его зашифрованным сеансом. Также кажется, что вы отправляете информацию для входа через GET-запрос, это, как правило, плохая практика.
Тем не менее ...
Что для вас не так, так это то, что вы не генерируете никаких пост-данных с помощью link_to: method =>: post. link_to будет использовать любые пармы, которые вы ему дадите, для генерации URL. Формы Wheres будут отправлять все параметры, сгенерированные формой, в виде POST-данных на URL, сгенерированный в вызове form_for.
При получении запроса POST Rails объединит параметры, полученные при маршрутизации с URL-адреса, с полученными данными поста в один хэш параметров.
Как в POST к
http://localhost:3000/benutzer/check_login?stylesheet=scaffold&user%5Bname%5D=dodo&user%5Bpassword%5D=wg
создает тот же хэш параметров в действии принимающего контроллера, что и POST для http://localhost:3000/benutzer/check_login
со следующими данными:
stylesheet=scaffold&user[name]=dodo&user[pasword]=wg
В журнале сервера не будет различий между двумя запросами.
Если вы посмотрите, что делает form_for, он отправляет данные POST, построенные из входных данных формы, в URL, сгенерированный аргументами.
form_for @user, create_user_url(:stylesheet => "scaffold") do |f|
f.text_field :name
f.password_field, :password
end
Эта форма отправит данные формы по URL-адресу, созданному из опций. В этом примере URL-адрес: http://localhost:3000/users/create?stylesheet=scaffold
, а данные формы:
user[name]=name_field_value_at_submit&user[password]=password_field_value_at_submit
link_to не будет заполнять данные для вас. Вы должны сделать это через форму или с помощью JavaScript. Документация link_to содержит пример того, как сделать это с помощью JavaScript. Посмотрите, как обрабатывается уничтожение с помощью onclick.
Если вам действительно не нравятся кнопки, вы можете использовать link_to_function для отправки формы.