0

你好
我有两个角色:用户操作 所以我有两个名称空间控制器:Rails的路由:两个动作的一个途径

/users/pages_controller.rb 

/operator/pages_controller.rb 

所以问题是路由:

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

如果user.operator?动作要operator/pages#index,如果user.user?动作要user/pages#index

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

另外在一个项目中,我遇到了一个错误(或特征):如果动作引发错误,rails会渲染此模式的下一个控制器。

也许有人知道这件事?

回答

0

你有很多解决方案,但它取决于你想要什么:

  • 只能使用一个命名空间,做你在控制器,依赖于复杂的或您的应用程序
  • 你可以有2完全distincts命名空间,但是你可能有很多的共同点代码,还取决于你的应用程序的
  • 你可以有2个distincts命名空间和共享谐音的意见,并在控制器使用模块关心共享代码
+0

我想让两个有两个不同的命名空间,但想要为他们有相同的路线。 我希望有一个基于提高错误的解决方案 – 2014-11-07 00:31:58

+0

为什么你想要相同的网址?如果你做了两件不同的事情,你必须有两个URL,或者你使用同一个控制器,并且你像控制器一样做你的事情,就像我说的。这就像你想在同一个地址有两个房子,这不是逻辑。 – 2014-11-07 00:35:17

+0

在我的应用程序中,只有注册用户才能访问网站。 有运营商和基本用户。 但他们操作相同的实体。所以我想为它们制作相同的路线 – 2014-11-07 00:38:03