【发布时间】:2009-08-12 03:43:58
【问题描述】:
假设我有以下关系:
class Event < ActiveRecord::Base
has_many :tickets
end
class Ticket < ActiveRecord::Base
belongs_to :event
end
我有这样一条路线:
map.resources :events, :has_many => :tickets
map.resources :tickets
我在门票控制器上有一个像这样的前置过滤器:
before_filter :get_event
def get_event
@event = Event.find(params[:event_id])
end
我在门票控制器上有一个索引操作,如下所示:
if @event == nil
@tickets = Ticket.all
else
@tickets = @event.tickets.all
end
如果我转到 /tickets(没有传递事件实例)怎么会说我仍然需要一个事件 ID?
我正在尝试保持 DRY,否则我会将索引操作分成操作并在之前的过滤器中排除一个。
感谢您的帮助!
【问题讨论】:
标签: ruby-on-rails routing