Могут ли рельсы автоматически найти ограничения БД и поместить их в вашу модель ...? - PullRequest
1 голос
/ 21 июня 2010

Как разработчик Oracle ADF, я знаком с возможностью создания сущности (эквивалент рельсов будет моделью), которая включает все ограничения БД (PK, FK, уникальность, длина, любое ограничение, не вызванное триггером),В результате в ADF я очень легко могу создать поле в представлении, основанном на атрибуте Entities.

В качестве примера я помещаю 3 таких поля, одно из которых представляет собой строку (или VARCHAR2 вOracle ...) с максимальной длиной 20, а другой INT и DATE.Метаданные (тип, ограничения длины) хранятся в модели.И по умолчанию любое поле, сгенерированное с помощью автоматически , включает эту проверку в интерфейс.Итак, первое поле, String(20), будет полем ввода текста с максимальной длиной 20. Итак, вопрос 1 , рельсы сделают это автоматически на переднем конце или я должен пойти и установить это?Теперь в ADF поле int, помещаемое в представление, не позволит пользователю вводить нецифровые символы (это сработает при попытке обновить модель (нажатие кнопки «Отправить», переход на новую страницу). Итак, вопрос 2 , rails автоматически предотвращает нецифровые символы? Также есть ли у rails повторное использование проверки для простых вещей, таких как телефонные номера, адреса. Наконец, вопрос 3 , по умолчанию в ADF, любая дата будетавтоматически генерировать типичный виджет календаря для ввода. Это также происходит для rails? Что rails использует для таких виджетов javascript, если это не так?

1 Ответ

1 голос
/ 22 июня 2010

Rails автоматически распознает вашу модель данных, но не добавляет никакой проверки и прочего автоматически.Не уверен, почему нет, потому что все знания есть.Я думаю, это как-то связано с производительностью?

Я знаю один плагин, который делает это для вас, хотя: dr.Ник-магическая модель-генератор .Это не то же самое, что ADF, но это начало.Он исследует вашу модель данных и добавляет все необходимые проверки и связи к вашим моделям.

Что касается дат и форм, либо вы используете что-то вроде formtastic , а затем все происходит несколько автоматически (рекомендуется).Или, если вы выберете более стандартный, ручной способ, используйте calendar-date-select gem (gem install calendar_date_select).

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...