【发布时间】:2016-05-08 05:12:28
【问题描述】:
同一控制器的自定义路由。我的应用程序中有许多半静态页面(实际上存储在我的数据库中,带有组和页面名称字段),它们按产品分组,然后按主题分组,例如 汽车:轮胎、车轮、收音机、挡风玻璃 住宅:门、窗、屋顶 产品和服务:数据服务
我不希望为每个组创建一个新控制器。但是,我正在尝试获取描述性的不同 URL 路径。例如:
domain.com/cars/tires_and_spokes
domain.com/cars/wheels
domain.com/homes/doors_and_knobs
domain.com/homes/windows
domain.com/products_and_services/data_service
目前,我只有
domain.com/pages/cars_tires_and_spokes
etc.
但我更喜欢前者。
路线:
pages_from_DB =[
{group:"cars", name:"tires and spokes"}
{group:"cars", name:"wheels"}
{group:"homes", name:"tires and spokes"}
{group:"homes", name:"windows"}
]
pages = %w[
cars_tires_and_spokes
cars_wheels
homes_doors_and_knobs
homes_windows
products_and_services_data_service
]
pages.each do |page|
get page, controller: "pages", action: page
end
控制器:
class PagesController < ApplicationController
pages_from_DB =[
{group:"cars", name:"tires and spokes"}
{group:"cars", name:"wheels"}
{group:"homes", name:"tires and spokes"}
{group:"homes", name:"windows"}
]
pages = %w[
cars_tires_and_spokes
cars_wheels
homes_doors_and_knobs
homes_windows
products_and_services_data_service
]
pages.each do |page|
define_method(page) do
end
end
end
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 controller routes nested-routes