У меня есть модель User
, Meeting
и Club
.
A User
has_many: user_clubs, has_many: club,: through =>: user_clubs.
A Club
has_many: user_clubs, has_many: пользователи,: through =>: user_clubs, и has_many: встречи
A Meeting
принадлежат_to: клуб и has_many: пользователи
Проблема, с которой я сталкиваюсь, заключается в создании новой встречи по вложенному маршруту: http://localhost:3000/clubs/1/meetings/new
.
Когда я пытаюсь создать встречу, я получаю ошибку проверки «Клуб должен существовать».Я понимаю, что это может быть отменено, потому что ассоциация принадлежат к клубу.Однако мне не нужно переопределять это, поскольку КАЖДАЯ встреча должна принадлежать клубу.Я просто не знаю, как правильно исправить ошибку.
Мои маршруты:
resources :users
resources :clubs do
resources :meetings, only: [:show, :index, :new, :create, :edit, :update]
end
resources :meetings, only: [:index, :show, :new, :create, :edit, :update]
Мои встречи # новое действие выглядит как:
def new
@club = Club.find(params[:club_id])
@meeting = Meeting.new
end
и Встречи # создать:
def create
binding.pry
@meeting = Meeting.new(meeting_params)
if @meeting.save
binding.pry
redirect_to club_path, notice: "Meeting was succesfully created."
else
render :new
end
end
Шаблон Мои встречи new
использует form_for(@meeting) do |f|
.Как передать club
, который требуется для проверки Meetings # create?Поток: Страница пользователя Клуб кликов > Страница клубного шоу Кнопка кликов для создания нового собрания > Встречи # Новая страница ввод имени, описания, времени и создания кликов > Индексная страница Meetings # Я не могу пройти мимо новой страницы Meetings #.