Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

+1 830новых вакансий за сутки·91 092вакансии открыты сейчас·Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Новые вакансии в TelegramРаботодателям
Talanto
Вакансии
Компании7 123
РезюмеAIПодготовкаСтатьи
BoostТарифыBoost
Войти

Не нашли подходящее?

Пусть нужная вакансия найдёт вас сама.

  1. Подборка в TelegramНовые вакансии по вашему фильтру — сразу в бота.Подключить
  2. Мэтчи по резюмеЗагрузите резюме — покажем, где вы подходите лучше всего.Загрузить
  3. Сохранить фильтрНастройте поиск один раз и возвращайтесь к новым вакансиям.Настроить
Что нового на TalantoTalanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Для работодателей

Опубликуйте вакансию — отклики придут в ваш кабинет.

  1. Вакансиябесплатно
  2. Откликиконтакты бесплатно
  3. Наймэтапы и интервью

40 компаний публикуют вакансии напрямую · 4 402 кандидата открыты к предложениям

Разместить вакансию

Популярные направления

Все подборки
  • Python17 095
  • Облачные технологии14 051
  • QA вакансии3 444
  • Backend вакансии2 068
  • Инженер данных1 788
  • Продакт-менеджер1 248

Разработка

  • Android1 861
  • iOS1 696
  • Fullstack вакансии965
  • AI вакансии945
  • Frontend вакансии734
  • Mobile вакансии44

По стеку

  • Go8 640
  • Java6 537
  • Node.js2 013
  • .NET1 704
  • Kotlin1 619
  • Rust1 456
  • C#703
  • PHP680
  • C++566

DevOps и инфраструктура

  • Kubernetes7 740
  • DevOps вакансии6 038
  • Linux-инфраструктура5 481
  • Terraform / IaC4 255
  • CI/CD3 214
  • Мониторинг и Observability1 775
  • SRE565
  • Кибербезопасность445

Аналитика и данные

  • Data Scientist1 121
  • Бизнес-аналитик930
  • Аналитик данных838
  • Системный аналитик154

Другие направления

  • Проджект-менеджер605
  • UI/UX дизайн142
  • Ручное тестирование14

По регионам

  • Вакансии в США43 023
  • Вакансии в Европе23 282
  • Вакансии в Канаде4 294
  • Работа в России3 910

По формату

  • Удалённые вакансии72 436
  • Релокация в США43 022
  • Гибридная работа12 399
  • Офисная работа7 085

По уровню

  • Senior вакансии41 615
  • Middle вакансии20 102
  • Junior вакансии6 553

Сейчас нанимают

Все компании
  • Wise192 вакансии
  • Rakuten189 вакансий
  • ASML165 вакансий
  • Grab139 вакансий
  • Celonis39 вакансий
  • Spotify36 вакансий
  • Adyen29 вакансий
  • Infobip28 вакансий
  • Monzo20 вакансий
  • Darktrace17 вакансий

Вакансии из 344 источников: карьерные страницы компаний и джоб-борды.

КомпанииО насНовостиПубличная офертаУсловия использованияПолитика конфиденциальностиПоддержка
←К теме Ruby on RailsВсе вопросы
Ruby on RailsJuniorКодинг

Каковы семь RESTful маршрутов в Rails и на какие HTTP-методы/действия они отображаются?

В закладки
Сначала попробуйте ответить сами30 секунд
Сравнить с ответом ↓

Rails генерирует 7 RESTful маршрутов: index (GET /), show (GET /:id), new (GET /new), create (POST /), edit (GET /:id/edit), update (PATCH/PUT /:id), destroy (DELETE /:id).

Семь RESTful маршрутов в Rails

Одна строка resources :articles в config/routes.rb автоматически создаёт семь маршрутов, соответствующих CRUD-операциям.

# config/routes.rb
Rails.application.routes.draw do
  resources :articles
end

Таблица маршрутов

$ rails routes -c articles

    Verb   URI Pattern               Controller#Action
    GET    /articles                 articles#index
    POST   /articles                 articles#create
    GET    /articles/new             articles#new
    GET    /articles/:id/edit        articles#edit
    GET    /articles/:id             articles#show
    PATCH  /articles/:id             articles#update
    PUT    /articles/:id             articles#update
    DELETE /articles/:id             articles#destroy

Описание каждого действия

  • index — GET /articles — список всех ресурсов.
  • show — GET /articles/:id — один ресурс по ID.
  • new — GET /articles/new — форма создания.
  • create — POST /articles — сохранение нового ресурса.
  • edit — GET /articles/:id/edit — форма редактирования.
  • update — PATCH /articles/:id (или PUT) — сохранение изменений.
  • destroy — DELETE /articles/:id — удаление ресурса.

Пример контроллера

class ArticlesController < ApplicationController
  before_action :set_article, only: %i[show edit update destroy]

  def index
    @articles = Article.all
  end

  def show; end

  def new
    @article = Article.new
  end

  def create
    @article = Article.new(article_params)
    if @article.save
      redirect_to @article, notice: "Created!"
    else
      render :new, status: :unprocessable_entity
    end
  end

  def edit; end

  def update
    if @article.update(article_params)
      redirect_to @article, notice: "Updated!"
    else
      render :edit, status: :unprocessable_entity
    end
  end

  def destroy
    @article.destroy
    redirect_to articles_path, status: :see_other
  end

  private

  def set_article
    @article = Article.find(params[:id])
  end

  def article_params
    params.require(:article).permit(:title, :body)
  end
end

Ограничение маршрутов

# Только чтение
resources :articles, only: %i[index show]

# Исключить отдельные действия
resources :articles, except: %i[destroy]

# Вложенные ресурсы
resources :articles do
  resources :comments
end

# Singleton-ресурс (нет :id, нет index)
resource :profile

Именованные хелперы

articles_path        # => /articles
new_article_path     # => /articles/new
article_path(@a)     # => /articles/1
edit_article_path(@a)# => /articles/1/edit

Подводные камни

  • Маршрут new (/articles/new) должен идти в таблице раньше show (/articles/:id), иначе «new» будет воспринят как ID. Rails обеспечивает это автоматически, но при ручном описании маршрутов нужно следить за порядком.
  • Браузеры не поддерживают PATCH/DELETE напрямую; Rails использует скрытое поле _method в формах. Если форма не использует Rails-хелперы, метод не будет подставлен.
  • Вложенные ресурсы глубже двух уровней усложняют URLs и логику — Rails-гайды рекомендуют ограничиваться одним уровнем.
  • resources создаёт маршрут PUT наряду с PATCH; предпочтителен PATCH для частичных обновлений.
  • При использовании resource :profile (singleton) нет маршрута index и параметра :id — контроллер должен находить запись другим способом (например, по текущему пользователю).
  • Именованные хелперы _path возвращают относительный путь, _url — абсолютный URL с доменом. Для email-шаблонов нужны _url.
  • Добавление нестандартных действий через member/collection — нормально, но злоупотребление ими сигнализирует о необходимости выделить новый ресурс.
  • rails routes в большом приложении вывод огромен — используйте -c controller_name или -g pattern для фильтрации.

Частые вопросы на собеседовании

  • Как Rails обрабатывает защиту от CSRF?
  • Что такое паттерн MVC и как Rails его реализует?
  • Что такое migrations в Rails и как их создавать и запускать?
  • В каких backend-проектах Ruby on Rails является сильным выбором, а где лучше выбрать более простой или другой стек?

Типичные ошибки

  • Сводить restful routes к названию метода без lifecycle и failure path.
  • Игнорировать модель runtime: Rails 8.1 строит приложение вокруг Rack, routing, controllers, Active Record, views и conventions over configuration.
  • Не отделять validation, authorization, transaction boundary и business logic.

Что проверяет интервьюер

  • Объясняет restful routes через конкретную точку lifecycle в Ruby on Rails.
  • Приводит корректный минимальный пример без вымышленных методов или callbacks.
  • Называет edge cases: пустые значения, ошибки, транзакции, безопасность или concurrency.

Как вы знаете этот вопрос?

Проверить себя по теме Ruby on Rails →

Источники

  • https://guides.rubyonrails.org/routing.html
  • https://guides.rubyonrails.org/

Связанные темы

Ruby on RailsBackend-Engineeringruby-on-rails-ecosystem