У меня есть проект регистрации лагеря, где турист может записаться на два класса, чтобы взять его.У меня это настроено с моделью туриста и моделью лагеря.Я использую 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