您好我是Rails的新手。我有这个名为static_pages的控制器,其中有不同的视图(酒店,咖啡馆,博物馆)。我目前正在routes.rb
中这样做match '/school', to: 'static_pages#school', via: 'get'
match '/hotel', to: 'static_pages#hotel', via: 'get'
match '/museum', to: 'static_pages#museum', via: 'get'
match '/peace', to: 'static_pages#peace', via: 'get'
match '/cafe', to: 'static_pages#cafe', via: 'get'
match '/investor', to: 'static_pages#investor', via: 'get'
我如何做“如果在静态页面控制器中,将视图名称绑定到特定URL”。要删除这6行并将其转换为1行,其中表示对于控制器中的每个方法,生成路径。
这里有特殊的技巧吗?
答案 0 :(得分:0)
routes.rb是一个常规的ruby文件,因此您可以执行与
类似的操作['school', 'hotel', 'museum', etc].each do |route|
match route, to: "static_pages##{route}", via: 'get'
end
如果你想缩短它。
编辑:
如果你想获得所有方法而不是硬编码,你可以这样做:
(ControllerName.methods - ActiveRecord::Base.methods).each do |route_sym|
match route_sym.to_s, to: "static_pages##{route_sym.to_s}", via: 'get'
end