QA@IT
«質問へ戻る

質問を投稿

Restfulなroutes.rb設計

Ruby On Railsにて開発中なのですが、Restfulなroutes.rb設計についてご質問させていただきました。

出来る限り理想的なRestfulに準拠して、routing構成にて設計をおこないたいと
考えていますが、下記の場合どのように設計するのが理想すればよろしいでしょうか。

例えば従業員管理システムを作る際、社員作成フォーム(new,create,edit,update,show,destroy,,etc)とアルバイト社員作成フォーム
を作りたい場合2通り考えられると思います。

①とてもシンプルな方法

1.従業員(member)の作成

rails g model member …

で作成します。

2.Controller作成

rails g controller jyugyoin syain_new parttime_new ….

とすれば、
syain_new,shain_edit,shain_show,parttime_new,parttime_edit,parttime_show,,,,
のようにcontroller.rbとshowにて作成していけば、問題なく作成することができるとおもいます。

問題点(だと考えられる事):Resufulな構成ではない。よりresutfulに準拠した作成方法はないものでしょうか?

② nsamespaceを使った方法

1.従業員(member)の作成(ここは変わらず)

rails g model member …

で作成します。

2.namespaceを使った作成

rails g controller jyugyoin:syain

rails g controller jyugyoin:parttime

vi routes.rb

namespace :jyugyoin do

resources syain

resources parttime

end

にてrestfulな構成にて設計することができると思います。

問題点:controllerに違和感を感じる。
jyugyoin/syain_controller.rb , jyugyoin/parttime_controller.rb
が出来て、機能が増える事にコントローラーを増やし、管理して行かないといけない。

namespaceを使わないといけないものでしょうか?もうすこし、routes.rb
を効率的に使った方法などがありそうですが、教えていただけないでしょうか。

どうぞよろしくお願い致します。

Ruby On Railsにて開発中なのですが、Restfulなroutes.rb設計についてご質問させていただきました。

出来る限り理想的なRestfulに準拠して、routing構成にて設計をおこないたいと
考えていますが、下記の場合どのように設計するのが理想すればよろしいでしょうか。

例えば従業員管理システムを作る際、社員作成フォーム(new,create,edit,update,show,destroy,,etc)とアルバイト社員作成フォーム
を作りたい場合2通り考えられると思います。

### ①とてもシンプルな方法
##### 1.従業員(member)の作成

`rails g model member …`

で作成します。
#### 2.Controller作成

`rails g controller jyugyoin syain_new parttime_new ….`

とすれば、
syain_new,shain_edit,shain_show,parttime_new,parttime_edit,parttime_show,,,,
のようにcontroller.rbとshowにて作成していけば、問題なく作成することができるとおもいます。

問題点(だと考えられる事):Resufulな構成ではない。よりresutfulに準拠した作成方法はないものでしょうか?

### ② nsamespaceを使った方法
#### 1.従業員(member)の作成(ここは変わらず)

`rails g model member …`

で作成します。
#### 2.namespaceを使った作成
rails g controller jyugyoin:syain  
rails g controller jyugyoin:parttime   

##### vi routes.rb

namespace :jyugyoin do  
resources syain  
resources parttime  
end

にてrestfulな構成にて設計することができると思います。

問題点:controllerに違和感を感じる。
jyugyoin/syain_controller.rb , jyugyoin/parttime_controller.rb
が出来て、機能が増える事にコントローラーを増やし、管理して行かないといけない。


namespaceを使わないといけないものでしょうか?もうすこし、routes.rb
を効率的に使った方法などがありそうですが、教えていただけないでしょうか。

どうぞよろしくお願い致します。