我有一个控制器显示动作,它做一些事情并呈现一个视图,但由于一些自定义路由,我需要在一个完全不同的控制器中执行一个完全不同的动作来执行相同的事情并呈现相同的视图。
我真的不想复制代码。有什么地方可以放它并从两个位置调用它吗?
编辑:
我基本上需要从 Collection#Show 和 Gallery#SplitUrl 运行以下内容:
@collection = Collection.find_by_id(params[:id])
if @collection.has_children?
@collections = @collection.children
else
redirect_to [@collection, :albums]
end
我不能只是redirect_to
Collection#Show 在 Gallery#SplitUrl 的末尾,因为重定向会导致我的自定义 URL 丢失,因为它是一个新请求。