Rails路由:一条路由的两个动作

时间:2014-11-07 00:20:36

标签: ruby-on-rails ruby-on-rails-4 routing rails-routing ruby-on-rails-4.1

你好
我有两个用户角色:用户运营商 所以我有两个命名空间控制器:

/users/pages_controller.rb

/operator/pages_controller.rb

问题在于路由:

我希望它在用户的命名空间中呈现动作。

如果user.operator?操作应为operator/pages#indexuser.user?操作应为user/pages#index

前段时间我问了问题Two actions for one route in Rails,但答案不是我想要的。

同样在一个项目中我遇到了一个错误(或功能):如果操作引发错误,则会为此模式渲染下一个控制器。

也许有人知道这个?

1 个答案:

答案 0 :(得分:0)

您有许多解决方案,但这取决于您的需求:

  • 您只能使用一个命名空间,并在控制器中执行if,具体取决于复杂程度或您的应用
  • 你可以有两个完全不同的命名空间,但你可能有很多共同的代码,也取决于你的应用程序
  • 您可以拥有2个区别名称空间,并为视图共享部分内容并使用模块关注控制器中的共享代码