В Rails 5 вы можете сказать left_joins, какой внешний ключ использовать с моделью? - PullRequest
0 голосов
/ 22 марта 2019

У меня есть проект регистрации лагеря, где турист может записаться на два класса, чтобы взять его.У меня это настроено с моделью туриста и моделью лагеря.Я использую has_many / belongs_to для связи моделей (см. Код ниже).

Мне нужно перечислить туриста с выбранным классом лагеря.У меня есть настройка left_joins, так что я также получаю группу, в которой они зарегистрированы, но мне нужно сопоставить всех отдыхающих, чтобы получить их классы (см. Код ниже).

Есть ли способ пройти вforeign_key для каждого из CampClasses и используйте оператор select, чтобы получить только имя класса в поле с именами campClassName1 и campClassName2?

#Model
belongs_to :CampClass1, class_name: 'CampClass', foreign_key: 'class1_id'
belongs_to :CampClass2, class_name: 'CampClass', foreign_key: 'class2_id'

#Controler
@camers = GroupCamper.left_joins(:group, :CampTeam)
            .where(groups: {camp_id: params[:campId]})
            .select(name_tag_fields)


def name_tag_fields
    'group_campers.id, firstName, lastName, group_id, flag, 
     group_campers.grade, groups.churchName, camp_teams.name As teamName,
     camp_teams.color AS teamColor, class1_id, class2_id, class1_time, 
     class2_time'
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...