Я застрял на чем-то и понятия не имею, что делать. В моем контроллере бронирования у меня есть:
if Invitation.exists?
, который возвращает true, когда '/ events / 1 / invitations / 2 / reservations', как и ожидалось, вызывается, но возвращает:
'Couldn't find Invitation without an ID'
когда вызывается '/ events / 1 / reservations', также ожидается. Хотя мне нужен способ проверить, существует ли он при вызове 2-го URL-адреса, и чтобы обойти инициацию, если @ приглашение.
Я очень новичок в рельсах, поэтому любой совет здесь будет приветствоваться.
Спасибо
--- EDIT ---
Думаю, я дал слишком мало информации.
По сути, я хочу использовать два URL:
1-й - это example.com/events/1/invitations/2/reservations - чтобы индекс резервирований отображал все бронирования, принадлежащие данному приглашению, в данном случае «2».
2nd - example.com/events/1/reservations - для отображения всех резервирований, относящихся к событию.
Итак, в действии index контроллера резервирования у меня есть:
@event = Event.find(params[:event_id])
@reservations = Reservation.all
if Invitation.exists?
@invitation = Invitation.find(params[:invitation_id])
@invite = true
else
end
и в индексе просмотра резервирования у меня есть:
<% if @invite == true%>
<% @invitation.reservations.each do |reservation| %>
...
<% else %>
<% @event.reservations.each do |reservation| %>
...
<% end %>
Таким образом, в основном, если используется 2-й URL, я не могу использовать «Приглашение» в действии контроллера, поскольку оно выдает такую ошибку: «Не удалось найти приглашение без идентификатора», поэтому мне нужен способ сообщить контроллеру, если заявление о том, что если идентификатор приглашения отсутствует (в URL?), не инициируйте @ приглашение.
Надеюсь, что понятнее, спасибо за помощь:)