Что именно делает последняя строка кода? - PullRequest
1 голос
/ 25 апреля 2011
@user = find_user
@user_sport = UserSport.new(params[:iuser_sport])
@user.user_sports << @user_sport

Что именно делает последняя строка кода ??

Ответы [ 2 ]

2 голосов
/ 25 апреля 2011

От рельсы API док

Добавляет один или несколько объектов к Коллекция путем создания ассоциаций в таблица соединения (collection.push и collection.concat являются псевдонимами этого метод).

'<<' создает связь между объектом activeRecords, </p>

здесь Пользователь имеет много UserSports, поэтому @ user.user_sports << @user_sport определяет связь между @user и @user_sport. </p>

2 голосов
/ 25 апреля 2011

Добавляется @user_sport к массиву user_sports.

Подробнее: << </a>

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

push также является эквивалентным методом, если вы предпочитаете видеть слово. << часто встречается, поэтому все сводится к личным предпочтениям.

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