Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

85
Visualizações
Rails Ajax no muestra el resultado

He creado un nuevo controlador, que en el futuro será responsable solo de traducir cadenas para diferentes objetos. Aquí está el código del controlador:

 # frozen_string_literal: true class Api::TranslationsController < AuthenticatedController def translate_string @translated_string = GoogleTranslator.translate('hello', 'de') render json: {translated_string: @translated_string.to_json} end helper_method :translate_string private def translations_params params.permit( :id, :translated_string ) end end

Se ubica en el directorio controllers/api/translations_controller. Aquí está la parte de las rutas:

 namespace :api do resource :translations do member do get 'translate_string' end end end

Y aquí está parte de mi html.erb para llamar a la función JS:

 <%= image_tag "google-icon.png", id: "google_icon", onclick: "test_transl()", remote: true%>

Y aquí está mi código JS, actualmente solo con Ajax:

 <script> function test_transl(){ $.ajax({ type: "GET", url: "/api/translations/translate_string", dataType: "json", success:function (result){ console.log(result) } }) } </script>

Espero que este código ajax traduzca el mundo 'hola' al alemán y obtenga el valor @translated_string - 'hola' en la consola, pero no pasa nada excepto el hecho de que el error que obtuve es 'statusText: "parsererror"'. ¿Qué puede estar mal?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Finalmente encontré lo que estaba mal con mi código. El problema fue el hecho de que no pasé el token de sesiones en ajax. Así que ahora mi código ajax se verá así:

 $.ajax({ type: "GET", headers: { "Authorization": "Bearer " + window.sessionToken }, url: "/api/translations/translate_string", dataType: "json", success: function(result){ console.log(result); }, error: function (result){ console.log(result, this.error) } })

Y definitivamente del controlador así:

 def translate_string @translated_string = GoogleTranslator.translate('hello', 'de') render json: @translated_string.to_json end

La salida en la consola es: "hola".

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda