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