在我的应用中,我有拥有门票的项目。我希望能够以下列方式显示票证:
/projects/43/tickets
此路线有效,但会显示所有故障单,而不仅仅是显示属于该项目的故障单。我需要改变什么?
路线:
resources :projects do
resources :tickets do
collection do
get "manage"
end
end
end
型号:
class Ticket < ActiveRecord::Base
belongs_to :project
...
end
class Project < ActiveRecord::Base
has_many :tickets, :dependent => :destroy
...
end
故障单通过以下方式连接到项目:
Tickets (table)
project_id
...the rest of the fields...
答案 0 :(得分:1)
这是控制器逻辑,而不是路由逻辑。在tickets_controller.rb
def index
@project = Project.find(params[:project_id])
@tickets = @project.tickets
end
现在,@tickets
将包含当前项目的所有票证。