2011-10-20 133 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 

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