Рельсы новичок, так что терпите меня ...
Я создал приложение календаря, и владелец календаря может добавлять других пользователей в календарь. Я только что понял, что они могут добавлять одного и того же пользователя много раз, что, очевидно, мне не нужно. Я пробовал кучу разных вещей, включая методы для проверки внутри модели, они не работали ... Я использовал include для проверки ...
Мой текущий метод в моем контроллере:
def update
if @calendar.calendar_admin?(current_user)
@new_user = User.find(params[:calendar][:user_ids])
if @calendar.users.includes(@new_user)
redirect_to user_calendar_path(@calendar), notice: 'This user has already been added to this calendar.'
else
@calendar.users << @new_user
if @calendar.save
redirect_to user_calendar_path(@calendar), notice: 'Your calendar has been updated.'
else
redirect_to user_calendar_path(@calendar)
end
end
end
end
конец
Неважно, что, он застревает на «этот пользователь уже добавлен в этот календарь», даже если он этого не сделал. Я закапываю нового пользователя, но я даже не уверен, что это правильный способ добавить нового пользователя?
Input