Первая работа, а пр...
 
Уведомления
Очистить всё

Первая работа, а проект на Roda. Все туториалы про Rails, что читать?

4 Сообщения
4 Пользователи
1 Реакции
397 Просмотры
puts_hello
Сообщения: 3
Автор темы
Пишет в irb junior-разработчик
Присоединился: 4 года назад
[#11]

Взяли джуном на удалёнку, проект на Roda и PostgreSQL, фоновые задачи на Resque, всё крутится в Docker. Ruby 3.1. До этого я делал учебные штуки только на Rails, и вот третий день сижу дома на Удельной, в четыре уже темно, а я всё ищу, где тут контроллеры и модели. Материалов по Roda раз в сто меньше, чем по Rails. С чего начать, чтобы через месяц не было стыдно на ревью?


3 ответа
eldar14
Сообщения: 9
Дружит с bundler middle-разработчик
Присоединился: 4 года назад

Первые две недели на Roda у всех ощущение, что всё лежит не там. Главное понять: контроллеров нет, есть дерево маршрутов, и запрос идёт по нему сверху вниз, пока не найдёт совпадение:

class App < Roda
  plugin :json

  route do |r|
    r.on "api" do
      r.on "orders" do
        r.get Integer do |id|
          Order[id].to_hash
        end

        r.post do
          Order.create(r.params).to_hash
        end
      end
    end
  end
end

Всё остальное подключается плагинами, и в проекте их список собран в одном месте, в начале класса приложения. Пройдись по нему и прочитай документацию каждого плагина, обычно их штук десять, это и будет карта проекта. Модели, скорее всего, на Sequel, у него документация хорошая.


Ответ
kostya.sokurov
Сообщения: 73
Держит прод бэкенд-разработчик, senior
Присоединился: 4 года назад

Ещё приём, который работает в любом незнакомом проекте: возьми один запрос из логов и пройди его руками от входа до базы, поставив binding.irb в паре мест. И не переживай, что знания по Rails пропадут: Rack, SQL, тесты и сам Ruby везде одинаковые.


Ответ
Валерий40
Сообщения: 33
Читает чужие PR фулстек-разработчик
Присоединился: 4 года назад

Я сейчас захожу в Ruby с другой стороны, из PHP, и успокаивает ровно это: язык один, а фреймворк осваивается за пару недель


Ответ