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