Я почти уверен, что поговорка имеет прямое отношение к программированию и ничего общего с поездами.

После завершения моего проекта Sinatra я перешел к более крупному и немного буферному двоюродному брату Sinatra, известному как Rails. Драгоценный камень, предназначенный для создания фреймворка для веб-приложений. Мне говорили такие вещи, как «с Rails легко работать» и другие обнадеживающие утверждения, поскольку пришло время снова научиться чему-то совершенно новому, а также освоить его всего за четыре недели. Звучит весело, правда?

Rails — очень продвинутая игра Connect-The-Dots. Все так, чтобы плавно соединиться со всем остальным. У ваших моделей должны быть черты «has_many» и «belongs_to», чтобы вы могли связать их в своих методах. Ваши методы должны быть четко определены в ваших контроллерах, чтобы вы могли правильно отображать свои представления, убедившись, что ваши переменные определены, чтобы можно было вызывать правильные методы. Если вы сделаете всего одну крошечную ошибку, например, используя точку вместо запятой, все сломается. Затем, когда вы исправите это, это может просто не работать; заставив вас застрять в бесконечном цикле.

«С Rails легко работать» Я прав?

Ключом к тому, чтобы все работало как можно лучше, является четкое определение всех ваших маршрутов. Вы делаете это в файле config/routes.rb. Этот файл может быть вашим лучшим другом или злейшим врагом. Он направляет запросы URL в том виде, в котором они были переданы, на необходимые контроллеры. При создании вашего приложения начните с определения ваших маршрутов, иначе вы будете задерживаться каждый раз, когда попытаетесь отобразить форму.

Первый маршрут, который я бы рекомендовал вам определить, — это ваш «корневой маршрут». Это маршрут по умолчанию, который будет отображать представление для домашней страницы вашего приложения. Главная страница google.com является корневым маршрутом для Google. Мой корневой маршрут — ‹root ‘sessions#welcome’›, что переводится как «Используйте контроллер сеансов и вызовите метод приветствия, который отобразит форму приветствия». Эту форму можно найти в папке «сессии» в «представлениях». Видеть? Связаны точки.

Чем больше маршрутов вы определяете, тем больше точек вы можете соединить. Если вам нужна полная мощность RESTful для одного из ваших объектов, вы можете использовать ключевое слово «ресурсы», чтобы дать объекту модели неограниченную мощность RESTful!

‹ресурсы: пользователи›

Точно так же Rails создал маршруты для INDEX, NEW, CREATE, EDIT, UPDATE, SHOW и DESTROY. Если вы хотите ограничить количество маршрутов, которые есть у ваших моделей, то есть немного криптонита RESTful, вы можете использовать «:only» в сочетании с «resources:», чтобы ограничить маршруты.

‹ресурсы: пользователи, только: [:index, :create, :new]›

При этом мы можем сказать маршруту DESTROY: «У вас здесь нет силы!»

Но подождите, есть еще!

Rails также позволяет вам ссылаться на маршруты по имени вместо того, чтобы постоянно ссылаться на URL-адреса. Если мы определили маршрут как:

‹получить «sessions/destroy», как: :logout›, который создает имя «logout_path», которое можно легко написать в ваших методах контроллера, а также в виде кнопки в формах просмотра. Это также означает, что маршрут DESTROY может вернуться в игру.

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

Первоначально опубликовано на https://jas802.github.io 19 апреля 2020 г.