2013-03-08 2 views
0

с использованием Rails 3.2, есть способ узнать, является ли столбец эталонным столбцом для другой модели?Список опорных столбцов активной модели записи

Я не хочу полагаться на поиск строки «_id» в названии.

спасибо.

UPDATE:

мне нужно перебирать все столбцы и сделал специальное обращение в ссылках столбцов, что-то вроде:

result = Hash.new 
self.attribute_names.each do |name| 
    if self[name] 
    result[name] = self[name] 

    if name is reference column 
     insert xxx_description (from the other model) in hash. 
    end 
    end 
end 

Я верну этот хэш в JSON для клиента.

{имя: 'Иосифов, sector_id: 2, sector_name: 'бэкенд' ...}

Где sector_name, это person.sector.name ...

спасибо.

+1

Зачем вам это нужно? – onurozgurozkan

+0

@onurozgurozkan да, немного контекста было бы хорошо. Там, вероятно, лучшее решение, чем игра с колонками для любой проблемы, я могу думать о –

+0

Извините, я только что обновил свой вопрос. – Beetlejuice

ответ

2

альтернативный метод, если вы не знаете название ассоциации:

Post.reflect_on_all_associations(:belongs_to).map &:foreign_key 
# => ['author_id','category_id'] 
Смежные вопросы