2015-05-05 2 views
2

мне нужно создать модель, генерируя в терминале с помощью команды
rails generate model ...Рубин на Rails генерировать ActiveRecord модель с параметрами

Как я могу установить проверку уникальности на одной из колонок, и имя primary_key поля с помощью этой команды? я нашел, как это могло быть сделано:
rails g model model_name field_name1:type:uniq field_name2:type:primary_key...

Он устанавливает для таблицы в базе данных primary_key и уникальности на некоторых полях с миграцией. Однако я хочу определить параметры для модели ActiveRecord, которые будут храниться в файле ModelName.rb в папке «models» моего проекта.

Пока я вызвать метод ModelName.validates_uniqueness_of(:field_name) каждый раз, когда я работаю с записями модели для предотвращения добавления записи с повторяющимися значениями на :field_name1

+3

Настройте модель, чтобы выполнить проверку, а не вручную ее выполнять. Обратитесь к [this] (http://guides.rubyonrails.org/active_record_validations.html#uniqueness) – Abhi

+0

Поскольку @Abhi сказал, что он выходит за рамки этого генератора. Они предназначены для того, чтобы дать вам barebones (строительные леса), чтобы затем изменить его, чтобы сделать именно то, что вы хотите. – DickieBoy

ответ

0

Вы можете использовать помощник uniqueness: true Validate, который проверяет уникальность значения атрибута перед объект будет сохранен.

class ModelName < ActiveRecord::Base 
    validates :field_name1 uniqueness: true 
end 

И, как @Abhi отметил для вас, взгляните на Active Record Validations документации.

Смежные вопросы