2014-03-26 50 views
3

我需要自定义路径添加到refinerycms项目,这是我如何做的:如何添加自定义路线refinerycms

mount Refinery::Core::Engine, :at => '/' 
get 'news/more' => 'refinery::news::items#view_more', as: :news_view_more 

现在“耙路线”能打印正确的路线,但我不能通过refinery.news_view_more_path参考那条路径,然而我在refinerycms宝石源代码中发现了一些类似'refinery.news_item_path'的代码,我希望我的自定义路由可以这样引用。

谢谢!

回答

0

我相信既然你的路由不是RESTFUL,你将不能使用助手来获得你想要的路径。您应该使用RESTFUL路由或为您的需要创建一个助手。

2

@manosagent,我可以添加路由这样的:

Refinery::Core::Engine.routes.prepend do 
    get 'news/more' => 'news::items#view_more', as: :news_view_more 
    get 'notices/more' => 'notices::notices#view_more', as: :notices_view_more 
end 

,但我不明白为什么new/morerake routes出现两次,我需要深入挖掘...

0

我花了一些有时间弄清楚。如果您在导轨应用程序中使用单独的控制器,则可以将路线代码放置在路线顶部。请记住,路线不会在炼油厂页面view/refinery/*.*上工作。如果您想在炼油厂页面上添加一些自定义路线,例如view/refinery/*.*,那么您可以按照以下代码进行操作。

Refinery::Core::Engine.routes.draw do 
    devise_for :users 
    get 'author' => 'author#index' 
end 

对您的路线文件。

0

炼油厂CMS深深砍死它的路线,也有从“精炼宝石”很多补丁,让所有的URL将被炼化的核心行动(如炼油厂:: PagesController#显示)

其实我不被过滤“T有时间去潜水,所有以上是我的猜测......

所以,如果你想添加一个新的路由,只需添加非RESTful航线有,例如:

get 'news/more' => 'refinery::news::items#view_more', as: :news_view_more 

,就把这行炼油厂的其他路线之前,将工作。