2016-12-04 2 views
0

Если у меня есть класс Категория и класс Должность, должность относится к категории, тогда я делаю t.belongs_to в Post Post, но обязательно ли я должен объявить t.has_many в категории? Если нет, если мне нужно использовать только один, который лучше всего выбрать?Rails Associations - Мне нужно иметь много, а также принадлежит вместе

ответ

0

Оба belongs_to и has_many просто создать метод ассоциации.

Например, используйте:

class User 
    has_many :cars 
end 

, если вы хотите, чтобы иметь возможность доступа автомобилей из текущего пользователя. Например: current_user.cars.

Или используйте:

class Car 
    belongs_to :user 
end 

, если вы хотите, чтобы иметь возможность доступа пользователя из экземпляра автомобиля. Например: Car.lost_and_found.user.

В большинстве случаев вам обычно понадобятся оба способа, поэтому используйте оба варианта.

-1

Нет, вам не нужно. t.has_many недоступен при миграции, а также, что более важно, ничего не делает для таблицы. Однако belongs_to фактически переводит на внешний ключ в таблице, связывающей отношения.

Для всех методов, которые существуют для create_table, например. создавая ссылки, которые также псевдоним для belongs_to относятся к этой документации:

http://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/create_table#227-All-methods

+0

Итак, когда я использую 'has_many', тогда? –

+0

@ VitorFalcão Ваш вопрос касался миграции. Вы не используете has_many в процессе миграции - в файле миграции нет метода has_many. – jemonsanto

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