【发布时间】:2012-02-21 21:02:55
【问题描述】:
我被一些事情困住了,不知道该怎么办。在我的预订控制器中,我有:
if Invitation.exists?
当 '/events/1/invitations/2/reservations' 按预期调用时返回 true,但返回:
'Couldn't find Invitation without an ID'
当“/events/1/reservations”被调用时,也是预期的。我需要一种方法来检查它是否在调用第二个 url 时存在,并且如果 @invitation 绕过启动。
我对 Rails 很陌生,所以欢迎在这里提出任何建议。
谢谢
---编辑---
我想我可能提供的信息太少了。
基本上我要使用两个网址:
第一个是 example.com/events/1/invitations/2/reservations - 为了让预订索引显示属于给定邀请的所有预订,在本例中为“2”。
第二个是 example.com/events/1/reservations - 为了显示属于某个事件的所有预订。
所以在预订控制器索引操作中我有:
@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 %>
所以基本上如果使用第二个 URL,我不能在控制器操作中使用“邀请”,因为它会给出以下错误:“找不到没有 ID 的邀请”,所以我需要一种方法来告诉控制器是否声明如果不存在邀请 ID(在 URL 中?),请不要发起 @invitation。
希望更清楚,感谢您的帮助:)
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3