質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

1回答

274閲覧

Railsで製作のWebアプリをデプロイするときの疑問

koume

総合スコア458

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2017/09/05 06:33

Rails5.1.3でWebアプリケーション制作の勉強中です。本番環境へデプロイしたあとの質問です。
こんなイメージになるのかな?と考えています。(アプリTOP画面はまだ作っておりません。)
イメージ説明

現在は各ページごとにconfig/routes.rbにroot 'top#index'と記述しています。(admin, staff, customer, visitor)
アプリTOP画面のroutesは指定しておりません。というか方法がわかりません。

Rails.application.routes.draw do config = Rails.application.config.chibi constraints host: config[:staff][:host] do namespace :staff, path: config[:staff][:path] do root 'top#index' get 'login' => 'sessions#new', as: :login resource :session, only: [ :create, :destroy ] resource :account, except: [ :new, :create, :destroy ] do patch :confirm end resource :password, only: [ :show, :edit, :update ] resources :customers resources :programs do patch :entries, on: :member end resources :messages, only: [ :index, :show, :destroy ] do get :inbound, :outbound, :deleted, :count, on: :collection post :tag, on: :member delete :tag, on: :member resource :reply, only: [ :new, :create ] do post :confirm end end resources :tags, only: [] do resources :messages, only: [ :index ] do get :inbound, :outbound, :deleted, on: :collection end end end end constraints host: config[:admin][:host] do namespace :admin, path: config[:admin][:path] do root 'top#index' get 'login' => 'sessions#new', as: :login resource :session, only: [ :create, :destroy ] resources :staff_members do resources :staff_events, only: [ :index ] end resources :staff_events, only: [ :index ] resources :allowed_sources, only: [ :index, :create ] do delete :delete, on: :collection end end end constraints host: config[:customer][:host] do namespace :customer, path: config[:customer][:path] do root 'top#index' get 'login' => 'sessions#new', as: :login resource :session, only: [ :create, :destroy ] resource :account, except: [ :new, :create, :destroy ] do patch :confirm end resources :programs, only: [ :index, :show ] do resources :entries, only: [ :create ] do patch :cancel, on: :member end end resources :messages, except: [ :edit, :update ] do post :confirm, on: :collection resource :reply, only: [ :new, :create ] do post :confirm end end end end constraints host: config[:visitor][:host] do namespace :visitor, path: config[:visitor][:path] do root 'top#index' resources :customers end end root 'errors#routing_error' get '*anything' => 'errors#routing_error' end

なので現在はブラウザから各ページへアクセスすると各ページのトップ画面が表示されている状態です。
ここで、やり方(コードの記述方法)がわからなく、質問なのですが、

1,デプロイ後にこのサイトにブラウザからアクセスした時(http://www.123abc.com)に最初にアプリTOP画面を表示させるにはroutes.rbにどのように
記述すればいいのでしょうか?それとも、他の方法があるのでしょうか?

2,管理者、職員、ページに個別にアクセスするにはどうすればいいのでしょうか?(アプリTPO画面は誰でも閲覧できる状態なので顧客登録ページと
顧客ページへのリンク以外は画面にリンクを設置したくないのです。)

*たとえば管理者ページにアクセスするにはhttp://www.123abc.com/adminとかhttp://www.123abc.com/staffみたいな
アクセスで入っていけるものなのでしょうか?

どなたか教えていただけないでしょうか?また、参考になる、サイトなどもご紹介していただければお願いしたいと思います。
宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

デプロイ後にこのサイトにブラウザからアクセスした時(http://www.123abc.com)に最初にアプリTOP画面を表示させるにはroutes.rbにどのように記述すればいいのでしょうか?

root to: 'static_pages#home' # static_pages -> controller # home -> action views/static_pages/home.html.erb ->TOP画面

管理者、職員、ページに個別にアクセスするにはどうすればいいのでしょうか?

URLはhttp://www.123abc.com/adminみたいな形にして、ページにBasic認証をかければいいと思います。
また、ページからの遷移はなしで、直接URLを打ち込む形にすればいいかと思います。

basic認証をかけない場合、誰でも侵入されてしまうので、かけるべきだと思います。

Basic認証とは?

Rails Basic認証

投稿2017/09/05 10:27

Ryuto

総合スコア206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

koume

2017/09/05 10:54

回答ありがとうございます。Basic認証というのは初耳ですので、改めて勉強します。実装して、動作確認した時に、上手く動かないなどが出てくると思いますので、また質問させていただきます。今後とも宜しくお願いします。 ありがとうございました。
Ryuto

2017/09/05 12:12

はい。頑張ってください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問