проверить наличие определенного столбца в массиве rails - PullRequest
1 голос
/ 10 ноября 2010

Я хочу знать, существует ли какой-либо метод массива для проверки существования определенного столбца в модели. Я объединил результаты запроса из двух таблиц в массив. Мне нужно проверить выход из имени столбца этих таблиц в этом массиве.

Ответы [ 4 ]

3 голосов
/ 10 ноября 2010
Model.columns.map(&:name).include?("id")
# => true
Model.columns.map(&:name).include?("not_available_column")
# => false
1 голос
/ 08 апреля 2012

Другой, возможно, более чистый способ сделать это: Foo.column_names.include? ("Bar")

0 голосов
/ 27 января 2012

Вы также можете использовать это:

ActiveRecord::Base.connection.column_exists?(:users, :id)

Api Dock - column_exists?

0 голосов
/ 10 ноября 2010

Таким образом вы можете проверить, принадлежит ли экземпляр модели определенному классу, например, obj.is_a?(Person).

Чтобы увидеть, какие столбцы имеет определенная модель, вы делаете это на уровне класса: obj.class.columns.collect { |c| c.name }.

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