我有以下路线定义:
resources :documents do
collection do
post :filter
end
end
以及以下模型结构:
class Document < ActiveRecord::Base
belongs_to :documentable, :polymorphic => true
end
class User < ActiveRecord::Base
has_many :documents, :as => :documentable
end
和控制器结构:
class DocumentsController < ApplicationController
def index
# not important
end
def filter
# not important
end
end
我可以很容易地在一个视图中说:
polymorphic_path([@user, Document])
获取路径/users/1/documents,但我想说:
filter_polymorphic_path([@user, Document])
获取路径/users/1/documents/filter,不幸的是,这不起作用。
对于我的每个可记录模型,任何人都知道如何在不向路线添加以下内容的情况下实现这一目标:
resources :users do
resources :documents do
collection do
post :filter
end
end
end