Контроллеры Phoenix - единственные или множественные?

124
5

Я знаю, что Rails имеет довольно солидное соглашение о наличии множественных имен контроллеров ex: CustomersController. Кажется, что Эликсиру все равно, потому что маршрутизация выполняется по-другому. Есть ли идиоматический способ назвать контроллеры в Фениксе?

спросил(а) 2016-03-09T06:34:00+03:00 4 года, 6 месяцев назад
1
Решение
148

Чтобы избежать некоторой путаницы, которая существует в Rails, вызванной тем, где использовать сингулярное vs множественное число, Phoenix решила идти с единственной формой последовательно. Это изменение было сделано в Phoenix v0.4.0. Вот объяснение, почему:


Phoenix также не налагает исключительные и множественные правила именования. Правила именования Rails могут путать начинающих и продвинутых разработчиков: модели используют уникальные имена, контроллеры используют множественные, URL-адреса помощников смешивают оба и так далее. Phoenix последовательно использует особые правила, как и любой другой код Elixir. Вы можете использовать множественные имена для ваших таблиц и путей маршрутизатора, но они явно написаны на ваших границах системы.


Я выделил самую важную часть для вашего удобства. Если вы хотите увидеть некоторые обсуждения вокруг того, где были приняты эти решения, ознакомьтесь с этим issue в репозитории Phoenix.

ответил(а) 2016-03-09T10:00:00+03:00 4 года, 6 месяцев назад
83

Контроллеры, модели и представления - единственные в Фениксе. Таким образом, для примера клиента соглашение будет:


CustomerController
CustomerView
Клиент


Схемы и таблицы, которые поддерживают модель, являются множественными.


Миграция будет использовать:


create table(:customers)

Схема должна использовать:


schema "customers"


Вы передаете одиночную и множественную версию в генератор:


mix phoenix.gen.html Customer customers

ответил(а) 2016-03-09T09:56:00+03:00 4 года, 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема