Выбор ActiveRecord за исключением столбцов - программирование
Подтвердить что ты не робот

Выбор ActiveRecord за исключением столбцов

Есть ли способ указать, чтобы выбрать ВСЕ столбцы в ActiveRecord, за исключением нескольких. Например, для Пользователя я не хочу выбирать свой хэш пароля или их электронную почту. Возможно ли это, или мне нужно вручную жестко кодировать все столбцы?

Спасибо

4b9b3361

Ответ 1

напишите область, подобную

def select_without columns
  select(column_names - columns.map(&:to_s))
end

Ответ 2

Что-то вроде этого?

exclude_columns = ['password', 'email']
columns = User.attribute_names.delete_if(|x| exclude_columns.include?(x))

User.select(columns)

ИЗМЕНИТЬ

Я забыл, что мы можем сделать Array1 - Array2

Лучший ответ:

exclude_columns = ['password', 'email']
columns = User.attribute_names - exclude_columns

User.select(columns)