Я хочу переименовать некоторые URL-адреса путей.
Например: http://localhost:4200/c/biotechnology/5/l/calendar
Вместо calendar я хочу переименовать его в events.
http://localhost:4200/agenda
Вместо agenda я хочу изменить его на calendar.
Не могли бы вы подсказать, как это сделать? Можно ли это сделать через панель администратора сайта?
Или это нужно сделать через код?
Если это нужно сделать на бэкенде, то в каком именно файле я могу это изменить?
Я знаком с Django, но я новичок в Rails.
Пожалуйста, помогите мне.
Посмотрите на:
This guide covers the user-facing features of Rails routing.After reading this guide, you will know: How to interpret the code in config/routes.rb. How to construct your own routes, using either the preferred resourceful style or the match method....
Эти маршруты, похоже, не являются основными.
Например, agenda отсутствует в моём экземпляре — вы установили какой-либо плагин?
Если да, изучите код плагина, в частности файл config/routes.rb (или, возможно, plugin.rb).
Я рекомендую потратить время на изучение и понимание структуры исходного кода.
@merefield , нет, я не устанавливал никаких плагинов. Если в настройках категорий включить список тем повестки дня, то на главной странице появится кнопка для просмотра событий из конкретных категорий.
Поэтому я переименовал эту кнопку, а теперь хочу переименовать и URL, но не могу найти, как это сделать.
Это странно, потому что в базовом Discourse такого маршрута нет.
https://raw.githubusercontent.com/discourse/discourse/main/config/routes.rb
… пожалуйста, поищите по слову “agenda”
Я не верю, что в настройках категорий есть такой раздел из коробки.
Скорее всего, у вас установлен плагин, возможно, этот:
end
::NewPostManager.add_handler(1) do |manager|
if manager.args['event'] && NewPostManager.post_needs_approval?(manager) && NewPostManager.is_first_post?(manager)
NewPostManager.add_plugin_payload_attribute('event') if NewPostManager.respond_to?(:add_plugin_payload_attribute)
end
nil
end
Discourse::Application.routes.prepend do
get "calendar.ics" => "list#calendar_ics", format: :ics, protocol: :webcal
get "calendar.rss" => "list#calendar_feed", format: :rss
get "agenda.rss" => "list#agenda_feed", format: :rss
%w{users u}.each do |root_path|
get "#{root_path}/:username/preferences/webcal-keys" => "users#preferences", constraints: { username: RouteFormat.username }
end
get "c/*category_slug_path_with_id/l/calendar.ics" => "list#calendar_ics", format: :ics, protocol: :webcal
get "c/*category_slug_path_with_id/l/calendar.rss" => "list#calendar_feed", format: :rss
Моя ошибка, ты был прав, это, наверное, плагин событий Discourse