0
0

More than 1 year has passed since last update.

環境構築から投稿機能作成まで

Posted at

前提

rbenvインストール済
railsインストール済

バージョン確認

rubyとrailsを使うので、バージョンを確認します。

ruby -v

(省略)/.rbenv/shims/ruby と表示されれば、rbenvのrubyを示しています。

rails -v

今回は、以下のバージョンで進めていきます。

  • ruby 2.7.4
  • rails 5.2.8

警告
rbenvでRubyのバージョンを切り替えた場合、railsコマンドを使うためには、そのRubyバージョンにRailsをインストールする必要があります

Railsアプリケーションの作成からサーバ起動

Railsのバージョンを指定してアプリケーションを作成します。

rails _5.2.8_ new test_app 

作成したらそのアプリケーションにcdコマンドで移動します。

そしてサーバを立ち上げましょう。

bundle exec rails s

ちなみに、bundle execをつけるのは、Gemfile.lockに記載されている正確な依存関係のバージョンを使用してアプリケーションを実行させるためです。

サーバを立ち上げたら、アクセスしましょう。
http://localhost:3000

Railsのデフォルト画面が出ればOKです。

CRUD機能の実装

CRUD機能に関しては、自動で土台を作ってくれるscaffoldを使います。
余談ですが、scaffoldの意味は建築現場での足場という意味だそうです。
今回はpostの名称で足場を作っていきます。

rails generate scaffold post

やっぱり必要ないといった場合は、簡単に消すこともできます。

rails destroy scaffold post

なにが生成されるの?

生成される主なファイルの一覧です。

  1. モデル:
    app/models/post.rb
    Postモデルの定義が含まれます。

  2. コントローラ:
    app/controllers/posts_controller.rb
    Postsコントローラのアクションとロジックが含まれます。

  3. ビュー:
    app/views/posts/index.html.erb
    app/views/posts/edit.html.erb
    app/views/posts/show.html.erb
    app/views/posts/new.html.erb
    app/views/posts/_form.html.erb
    これらのファイルは、それぞれ一覧表示、編集、詳細表示、新規作成のビューと、フォーム部分をパーシャルとして共通化したビューを提供します。

  4. マイグレーション:
    db/migrate/xxxxxxxxxx_create_posts.rb
    (xxxxxxxxxxはタイムスタンプに置き換えられます)
    Postモデルに対応するテーブルを作成するマイグレーションが含まれます。

  5. テスト:
    test/models/post_test.rb
    Postモデルのテストが含まれます。

    test/controllers/posts_controller_test.rb
    Postsコントローラのテストが含まれます。

    test/fixtures/posts.yml
    Postモデルのテストデータが含まれます。

  6. ルーティング:
    config/routes.rb
    ルーティングファイルに、resources :postsが追加されます。これにより、標準的なRESTfulルーティングが生成されます。

  7. アセット:
    app/assets/stylesheets/scaffolds.scss
    スタイルシートが生成され、scaffoldに関連する基本的なスタイルが適用されます。

反映

scaffoldで土台を作成したさい、マイグレーションも作られているので、反映させます。

rails db:migrate

作成されたcontrollerの書き方を変更したいので、Gemfile のjbuilderの定義を削除して bundle install を実行します。

サーバを立ち上げ、
http://localhost:3000/posts
にアクセスできればOKです。

ここからは自分自身で拡張していってオリジナルのアプリを作成しましょう。

0
0
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
0