В вашем примере кода значение логина фактически пусто:
<%= link_to "Olvidó su clave?", { :controller => 'usuarios', :action => 'olvido_contrasena', :login => }, :post => true %>
Кроме того, "post => true" - это не то, как сделать это в форме POST.
Обычно вы используете button_to (вместо link_to), но, поскольку вы уже находитесь внутри формы (а формы не вложены), вы можете подделать сообщение, передав параметр строки запроса атрибут "_method" (да, он начинается с подчеркивания). поэтому ваш пример станет:
<%= link_to "Olvidó su clave?", { :controller => 'usuarios', :action => 'olvido_contrasena', :login => @usario.login, "_method" => 'post'} %>
Теперь проблема в том, что человек еще не вошел в систему ... поэтому вы не можете получить его "логин" - и поле для входа над ссылкой не является частью ссылки. Поэтому вам, вероятно, понадобится добавить какой-нибудь забавный javascript для обновления значения поля ссылки, когда кто-то что-то вводит в поле.
... но действие вашего контроллера должно также иметь дело со случаем, когда кто-то еще ничего не набрал. Например, если params [: login] пусто. он должен отображать вид страницы "забыли пароль? хорошо введите здесь имя пользователя".