2011-10-20 136 views
1

我正在尋找「自動」根據控制器中定義的動作生成路由。資源路由(據我所知)只會自動爲http動詞生成路由&助手。在這個例子中,我主要使用rails的靜態頁面,並且在我的控制器中不需要http動詞。鐵軌控制器動作路由

具體來說:

在我已經定義其是指那些大多靜態頁面的動作的控制器。

def action 
end 

在routes文件我有一堆

match "/url" => 'controller#action' 

我想是基於控制器的操作自動生成所有這些匹配的路由。東西的概念CONCEPTUALLY:

for actions in controller.erb do |action| 
    'match "/action" => "controller#action" 
end 

這可能嗎?我會直接在路徑文件中編寫代碼嗎?

我也有一些嵌套的行動來考慮......一個控制器動作可能是:

def action 
    def nested_action 
    end 
end 

我會很感激在這個問題上的任何想法。謝謝。

+0

嘗試'匹配':行動''裏面的資源塊... – sled

回答

1

有什麼不對正常/:controller/:action idea?

不會與嵌套行動對付,但是...我有困難的時候理解爲什麼你會永遠想要的。

+0

我忘了所有關於!這應該適用於我需要的90%...謝謝! – twinturbotom

+0

我不認爲這會創建路徑助手(我喜歡使用它)。我明天再確認一下。 – twinturbotom

+0

@twinturbotom當然不是;怎麼可能?控制器和操作是任意的。 –

-1

你可以做這樣的事情:

controller :controller_name do 
    get "path/action" => :method_name, :as => :path_action 
    post "path/save" => :method_name, :as => :path_save 
end 

也就是說,你可以在控制器中組不同的路由使用上面的方法。