Come accedere agli URL definiti in un plugin pubblicamente?

Ho aggiunto il codice sottostante nel file plugin.rb.

  DiscourseRatings::Engine.routes.draw do
    post "/rate" => "rating#rate"
    post "/remove" => "rating#remove"
    get '/getratings' => 'rating#getRatings'
  end

Riesco a utilizzare l’URL “ratings”, ovvero /rating/getratings, nelle chiamate AJAX. Tuttavia, quando provo a utilizzare questo URL con il nome di dominio t2.metastudio.org, ad esempio https://t2.metastudio.org/rating/getratings, Discourse restituisce il seguente messaggio:

Oops! That page doesn’t exist or you may have to login to see it!

Ad esempio, riesco ad accedere ai dati delle categorie utilizzando l’URL https://t2.metastudio.org/categories.json. Allo stesso modo, vorrei poter accedere agli URL definiti dal plugin.

Potreste spiegarmi come definire gli URL in un plugin in modo che siano accessibili pubblicamente?

In pratica, devi studiare come funzionano le rotte e i motori di Rails. Le rotte mappano gli URL alle azioni dei controller di Rails. Consulta anche questa guida: è il mio tutorial preferito su Discourse. How to create a Discourse plugin – kleinfreund.de

Sono in grado di accedere al nuovo URL GET definito, ovvero “/getbadges” => “categories#getBadges”

Ho definito l’URL GET “/getbadges” => “categories#getBadges” nel file routes.rb

e di seguito il metodo getBadges nel file categories_controller.rb

def getBadges
	json_data = {"name":"siddhu"}
	render json: json_data
end

Ho eseguito un’istanza locale di Discourse e ho provato ad accedere all’URL GET definito http://localhost:9292/getbadges.
Riesco ad accedere a questo URL GET, ma ho fatto la stessa cosa nel plugin GitHub - siddhudhangar/discourse-ratings · GitHub e lì non funziona. Puoi aiutarmi a risolvere il problema?

Di seguito riporto il mio URL GitHub, dove puoi controllare il mio codice e farmi sapere se ho commesso errori.

Posso accedere a tutti gli URL GET che ho definito nel plugin. Il problema è stato risolto. Grazie.