Como acessar URLs definidas em um plugin publicamente?

Adicionei o código abaixo no arquivo plugin.rb.

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

Consegui usar a URL “ratings”, que é /rating/getratings, em uma chamada AJAX. No entanto, quando uso essa URL com o nome de domínio t2.metastudio.org, por exemplo https://t2.metastudio.org/rating/getratings, o Discourse exibe:

Oops! Essa página não existe ou você pode precisar fazer login para vê-la!

Por exemplo, consigo acessar os dados de categorias usando a seguinte URL: https://t2.metastudio.org/categories.json.
Da mesma forma, gostaria de acessar as URLs de get do plugin.

Você poderia me dizer como definir URLs em um plugin que sejam acessíveis publicamente?"

Basicamente, você precisa pesquisar como as rotas e engines do Rails funcionam. As rotas mapeiam as URLs para as ações dos controladores do Rails. Consulte também este guia. É meu tutorial favorito sobre Discourse. How to create a Discourse plugin – kleinfreund.de

Consigo acessar a nova URL GET definida, que é /getbadges => categories#getBadges

Defini a URL GET /getbadges => categories#getBadges no arquivo routes.rb.

E abaixo está o método getBadges no arquivo categories_controller.rb:

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

Executei uma instância local do Discourse e tentei acessar a URL GET definida: http://localhost:9292/getbadges.
Consegui acessar essa URL, mas quando fiz o mesmo no plugin GitHub - siddhudhangar/discourse-ratings · GitHub, não funcionou. Pode me ajudar a resolver esse problema?

Abaixo, deixei minha URL do GitHub, onde você pode verificar meu código e me informar se cometi algum erro:

Consegui acessar todas as URLs GET que defini no plugin. O problema foi resolvido agora. Obrigado.