es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo ocultar la consulta de cadena en Rails

Quiero pasar a un recurso en una solicitud, por ejemplo.

# Ir al enlace de pago
<%= link_to 'Pago', checkout_path(pricing: amount.id) %>

Cuando voy al enlace de pago, la ruta URL es la siguiente:

http://localhost:3000/checkout?pricing=amount_2aHUHuhdn23jnSJd

Me gustaría ocultar la cadena de consulta “pricing=amount_2aHUHuhdn23jnSJd” sin tener que utilizar ninguna gema.

ACTUALIZACIÓN DE LA PREGUNTA 31/12

Esta solicitud es de tipo GET ya que necesito mostrar los diferentes precios al usuario, por eso se pasa el parámetro (pricing: amount.id).

<%= link_to 'Pago', checkout_path(pricing: amount.id) %>

get 'checkout', to: 'subscriptions#checkout'

Agradezco tu tiempo y tu ayuda.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para ocultar la cadena de consulta de la URL sin utilizar ninguna gema, puedes utilizar la funcionalidad de sesión proporcionada por Rails.

    Primero, debes establecer el valor de amount.id en la sesión en el método de acción checkout:

    def checkout
      session[:pricing] = amount.id
    end
    

    Luego, en la vista, puedes acceder al valor de la sesión a través del controlador:

    <%= link_to 'Pago', checkout_path, method: :get %>
    

    Finalmente, en el método de acción checkout, puedes recuperar el valor de la sesión y utilizarlo según sea necesario:

    def checkout
      pricing = session[:pricing]
      # Hacer algo con pricing
    end
    

    De esta manera, la URL no mostrará el valor de pricing, pero estará disponible a través de la sesión. Sin embargo, ten en cuenta que utilizar la sesión puede tener algunas implicaciones de seguridad, así que asegúrate de utilizarla de manera adecuada.

Comments are closed.