Open3
rails admin dashboard routing
- dasboard controller を作成
rails g controller admin:dashboards
-
def show; end
を追記 -
ルーティングを記述
localhost:3000/
をルートとする。
scope module: :admin do
resource :dashboard, only: :show, paht: '/'
end
controllers/admin/dashboards
をrootにするためにscope module: :admin
を使用
以下のようなルーティングが追加される
dashboard GET /
admin/dashboards#show
subdomain
サブドメインを追加する
- hostsを変更
hostsを変更することでローカルでドメインを指定することができる。
今回はlocalhost:3000
->example.com
andadmin.example.com
を指定する
console
sudo vi /etc/hosts
localhostの下に任意のドメインを追加
/etc/hosts
127.0.0.1 localhost
127.0.0.1 example.com admin.example.com
これにより
http://localhost:3000
と http://example.com:3000
が同じものを表示する様になった。
サブドメインによるルーティングの切り分け
- 開発環境でドメインを有効化
development.rb
Rails.application.configure do
...
config.hosts << "example.com" << "admin.example.com"
end
- ルーティングの変更
routes.rb
constraints subdomain: 'admin' do
scope module: :admin do
resource :dashboard, only: :show, path: '/'
end
end
constraints subdomain: 'admin'
によりサブドメインでのみ表示される様に変更した。
http://admin.example.com:3000/
では表示されるが
http://example.com:3000
では表示されなくなった