スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Railsで複数のWebを管理してみる

ユーザが使うWebと管理者が使うWebを作りたい時に別々に作るとModelやViewの共通化がやりにくくなります。
だけど1つにした時にControllerやViewがユーザと管理者と同じ階層に入るのは使いにくいです。
そこで、ControllerとViewはディレクトリを分けて扱うことにします。
Modelはユーザと管理者であまり変わらないので1つの階層で扱います。

例えばprojectを扱う場合以下のコマンドで雛形を生成します。

rails g model projects nm:text
rails g scaffold_controller admin/projects
rails g scaffold_controller user/projects

routeは以下のようにします。

namespace :admin, path: "administrator" do
resources :projects
end
namespace :user, path: "" do
resources :projects
end


管理者は
http://localhost/administrator/projects
ユーザは
http://localhost/projects
でアクセスできます。

階層を好きなように切っても、後でrouteで実際のURLを調整できるのが便利です。
管理者のアクセスではIPアドレス制限したい場合などは
ユーザと管理者で別々にRailsを起動して、nginx等でIPアドレスを制限するのがよいです。
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。