He añadido el siguiente código en el archivo plugin.rb.
DiscourseRatings::Engine.routes.draw do
post "/rate" => "rating#rate"
post "/remove" => "rating#remove"
get '/getratings' => 'rating#getRatings'
end
Puedo usar la URL “ratings” que es /rating/getratings en una llamada AJAX. Pero cuando uso esta URL con el nombre de dominio t2.metastudio.org, por ejemplo https://t2.metastudio.org/rating/getratings, Discourse dice:
¡Vaya! Esa página no existe o tal vez debas iniciar sesión para verla.
Por ejemplo, puedo acceder a los datos de categorías usando la siguiente URL, que es https://t2.metastudio.org/categories.json. De manera similar, quiero acceder a las URLs de get del plugin.
¿Podrías decirme cómo definir las URLs en un plugin que sean accesibles públicamente?
Básicamente, necesitas investigar cómo funcionan las rutas y los motores de Rails. Las rutas mapean las URLs con las acciones de los controladores de Rails. También consulta esta guía. Es mi tutorial favorito de Discourse. How to create a Discourse plugin – kleinfreund.de