LoginSignup
0
1

More than 3 years have passed since last update.

Advanced 1.設計とは?新しくプロジェクトを作成し、お問い合わせページを作ってみる

Last updated at Posted at 2019-09-21

1. ホテルのレビューサイトを作る

  • Advanced 1.設計とは?新しくプロジェクトを作成し、お問い合わせページを作ってみる
  • Advanced 2.Gemを使って管理画面を作成する、設計説明
  • Advanced 3.演習、各ページを自分で作ってみよう
  • Advanced 4.検索を追加してみる、引き続き各ページを作ろう
  • Advanced 5.bootstrapについて、デザインを追加してみる
  • Advanced 6. まとめ

1.1. どんなサイト?全体説明

  • イメージ
    https://jp.hotels.com/

  • トップページ(with 検索機能)
    localhost_3000_ (2).png

  • 地方の詳細ページ
    localhost_3000_prefectures_47 (1).png

  • ホテルの詳細ページ
    localhost_3000_hotels_2.png

  • レビューの一覧
    reviews_index.png

  • レビューを新規作成
    reviews_new.png

  • レビューを作る

  • レビューの詳細
    reviews_show.png

  • 予約を新規作成
    reservations_new.png

  • 予約を作る

  • お問い合わせ
    localhost_3000_contacts_new (2).png

1.2. 設計とは

RESTful APIに沿ってURLを設計する
MVCに沿ってモデルやデータベースを設計する

2. 今回やること

railsのプロジェクトの立ち上げ方(復習)
お問い合わせのページが必ずあるのでお問い合わせのページを作成する

2.1. お問い合わせページを作ってみよう

Screen Shot 2019-12-07 at 15.19.15.png

ここにshowページの画像入れる

2.1.1 プロジェクトを作る

hotel-projectの名前でプロジェクトを作成して、アプリを起動して、Railsの初期画面が表示されるのを確認してみよう。

cd ~
cd projects
rails new hotel-project -B


Windowsの場合Gemfile修正ポイント
gem 'sqlite3','~> 1.3.13'
gem 'bootsnap', '~> 1.1.0'

bundle install
rails db:migrate
rails server

contactページ

2.1.2 モデルを作る

Contact

???
  • カラム名には、大文字やハイフンは使わないように注意しよう。

    • E-mail → ×
    • email → ○
  • どこから手をつければいいかわからない場合は下記を参考にしながら始めてみよう

2.1.3. routingを作成する

お問い合わせ新規作成
お問い合わせ作成
お問い合わせ終了・確認画面

config/routes.rb
???

2.1.4. Controllerを作る

???

2.1.5. View作る

sublimeから右クリック

new.html.erb
???
show.html.erb
???

答え集

Contactモデルの作成

rails generate model Contact name:string email:string body:text

お問い合わせのRouting作成

GET /contacts/new
POST /contacts
GET /contacts/:id

お問い合わせのController作成

rails generate controller contacts
app/controllers/contacts_controller.rb

def new
end

def create
end

def show
end

migrateでエラーが発生する場合の対処法

  • まずrails db:migrateの結果を確認
  • ちゃんと走る場合はエラーが解消できる
  • ちゃんと走らない場合は
    • rails db:rollbackしてrails d modelしてrails g modelからやり直す
  • それでも上手く行かない場合は
    • rails d modelまたはmigrateファイルとmodelのファイルを直接sublimeから削除し、rails db:migrate:reset
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1