2012-04-23 56 views
2

我深化發展與僅限於某些用戶的後臺(管理)的應用程序,以便修改內容。而在另一邊,我有這是由客戶端訪問一個Web服務(API)。命名空間和資源on Rails的路線

所以我分離了命名空間中的兩個部分,並且我意識到當我使用腳手架來處理類似問題的資源時,生成的控制器假定資源是admin :: questions,但那不是我通緝。

我期望有:

/admin/questions to handle my questions (controller admin/questions_controller.rb) 

/api/questions to serve my questions (controller api/questions_controller.rb) 

但在這兩種情況下,這是同樣的模式。

我應該繼續我的路線使用的命名空間或或使用模塊? 它違背了軌道資源的哲學嗎?

感謝您的輸入。

+0

通常使用的命名空間的原因是做什麼的腳手架ID生成。也就是說,你需要一個不同的GUI和API控制器。想想看,如果你有不同的控制器,你不會有一個清潔的respond_to(和可能能夠拿出的respond_to)。 – 2012-04-23 15:04:44

+0

這並不是說你在做什麼是錯的。 respond_to就是爲了這個目的。 – 2012-04-23 15:06:37

回答

1

通過運行rails generate scaffold -h只見稱爲--skip-namespace的選項。那是你在找什麼?

從文檔:

Usage: 
    rails generate scaffold NAME [field[:type][:index] field[:type][:index]] [options] 

Options: 
    [--skip-namespace]      # Skip namespace (affects only isolated applications)