2014-03-26 105 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 

,就把這行煉油廠的其他路線之前,將工作。