Ruby on rails 运行时动态Rails路由
我有一个应用程序,有两种类型的用户-员工和客户,客户下订单,员工处理 对于每种类型的用户,我都有一个单独的控制器OrdersController,它提供各种操作和不同类型的视图 我希望能够在共享部分中执行Ruby on rails 运行时动态Rails路由,ruby-on-rails,Ruby On Rails,我有一个应用程序,有两种类型的用户-员工和客户,客户下订单,员工处理 对于每种类型的用户,我都有一个单独的控制器OrdersController,它提供各种操作和不同类型的视图 我希望能够在共享部分中执行重定向到order\u路径(@order),以便根据用户类型访问正确的控制器 例如:order\u路径(order)应翻译为员工的/employees/orders/ID,客户的/clients/orders/ID 最好不要像“调度控制器”这样的黑客,它们会根据用户类型发出进一步的重定向,或者对
重定向到order\u路径(@order)
,以便根据用户类型访问正确的控制器
例如:order\u路径(order)
应翻译为员工的/employees/orders/ID
,客户的/clients/orders/ID
最好不要像“调度控制器”这样的黑客,它们会根据用户类型发出进一步的重定向,或者对每种类型的用户进行分类
如何为此设置路由?这不是“动态路由”的真正工作,路由表在设计上是静态的 相反,您可以定义自己的助手方法来查看当前用户类型,并调用正确的路由助手 例如:
# app/helpers/application_helper.rb
def order_path(order)
if current_user.is_a? Employee
employee_order_path(order)
else
user_order_path(order)
end
end
很好,谢谢。我必须在不同的助手中完成这项工作,但对于每种类型的用户和模型,我有100多个。