# 輪読会(20201119) ###### tags:`輪読会` ## 今日の学習範囲 P.79 「scaffold_appアプリケーションを振り返って」から P91まで ## 学習項目 ### memo - scaffold_appを振り返り - リクエストとレスポンスの話 - フォームで送信するパラメータと、リクエストに対応するルーティング、 - Controllerのアクションの呼び出し - Controllerでのパラメータ情報の受け取り、 - ActiveRecordによるDBアクセス、 - Renderによるテンプレートファイルの表示、 - Redirectによる別アクションの実行など チャプター3 `$ rails _5.2.1_ new taskleaf` →データベースをSqliteを使うのでデータベースの指定はなし ` $ cd taskleaf` →作成したアプリが有るディレクトリに移動 `$ bin/rails db:create` →データベースを作る `$ bin/rails s` →サーバーを起動して、立ち上がるか確認 `gem 'slim-rails'` `gem 'html2slim'` →Gemfileに記載する `$ bundle` →Gemfileに書かれたgem およびそれらの依存する gem をすべてインストールされた状態にしてくれます `$ bundle exec erb2slim app/views/layouts/ --delete` →rails newの時点でできてしまったテンプレートたちがerbになっているのでslimに変更した上でもともとのファイルを削除する `gem 'bootstrap'` →Gemfileに記載する `$ bundle` →→Gemfileに書かれたgem およびそれらの依存する gem をすべてインストールされた状態にしてくれます `$ rm app/assets/stylesheets/application.css` →拡張子を変更するので、削除します app/assets/stylesheets/application.scss →作成する - scssとcssの違いは? - 効率よく表現できる形式 `app/assets/stylesheets/application.css /*` `*= require_self` `*= require_tree .` `*/` ↑これはコメントアウトじゃないので注意! app/assets/stylesheets/application.scss に `@import "bootstrap";` →追記 app/views/layouts/application.html.slim に `.app-title.navbar.navbar-expand-md.navbar-light.bg-light` `.navbar-brand Taskleaf` `.container` →追記 `wget https://raw.githubusercontent.com/svenfuchs/rails-i18n/master/rails/locale/ja.yml --output-document=config/locales/ja.yml` →rawファイルをconfig/locales/ja.ymlとしてダウンロード - wgetのコマンドがない! - `$ brew install wget`でインストールしましょう! config/initializers/locale.rb を作成し、 `Rails.application.config.i18n.default_locale = :ja` →追記する ### おまけ - jbuilderについて - デフォルトだと有効化されている。rails gでjsonフォーマット用のコードが生成される。 - 不要であれば、無効化した上でrails gでコード生成すると、Controllerのコードが見やすくなる。 - 一度、作成したscaffoldのControllerのソースコードを確認してください。その後`rails destroy scaffold`コマンドで削除してみましょう。その後、gemの無効化を行って、Controllerのコードがどう変化したのかを確認しましょう。 - gemを無効化する際の注意点 - Gemfileは編集しただけでは使用するライブラリの変更が適用されない。bundle installが必要。 - ちなみに、古いバージョンのライブラリを指定することも可能。それによって、依存関係のあるライブラリ全てのバージョンを自動で変更してくれる。 ※ ここがbundlerを利用するメリット。gem installとgem uninstallで手作業で入れ直す場合は、依存性のあるライブラリも自分でバージョン指定して入れ直す必要がある。) - rails g scaffoldで生成される各ファイルや、rails newで作成された各ディレクトリについても簡単に抑えておきたい。 ## 参加人数 ## 質問