Powered by SmartDoc

4.1 具体的な事例

  1. Scaffold機能を使ってコントローラ・モデルを作成
  2. モデルとマイグレーションスクリプト
  3. コントロールとアクション
  4. ビュー
  5. マイグレーションスクリプトの実行
    1. データベースの作成

      kiri@smtp:~/work/rails/personal[1202]% rake db:create

    2. データベーステーブルの作成(マイグレーションスクリプトの実行)

      kiri@smtp:~/work/rails/personal[1203]% rake db:migrate
      == 20240228004444 CreateFriends: migrating ====================================
      -- create_table(:friends)
         -> 0.0019s
      == 20240228004444 CreateFriends: migrated (0.0019s) ===========================
      
      kiri@smtp:~/work/rails/personal[1204]% 

  6. アプリケーションの起動
    1. ウェブサーバーの起動

      kiri@smtp:~/work/rails/personal[1204]% rails server -u webrick

    2. ウェブにアクセス

      kiri@smtp:~/work/rails/personal[1205]% rails server -u webrick
      => Booting WEBrick
      => Rails 6.1.7.6 application starting in development http://localhost:3000
      => Run `bin/rails server --help` for more startup options
      [2024-02-28 15:01:34] INFO  WEBrick 1.8.1
      [2024-02-28 15:01:34] INFO  ruby 3.3.0 (2023-09-14) [amd64-freebsd15]
      [2024-02-28 15:01:34] INFO  WEBrick::HTTPServer#start: pid=62056 port=3000
      Started GET "/friends" for 192.168.1.1 at 2024-02-28 15:01:42 +0900
      Cannot render console from 192.168.1.1! Allowed networks: 127.0.0.0/127.255.255.255, ::1
         (0.6ms)  SELECT sqlite_version(*)
         (0.2ms)  SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
      Processing by FriendsController#index as HTML
        Rendering layout layouts/application.html.erb
        Rendering friends/index.html.erb within layouts/application
        Friend Load (0.1ms)  SELECT "friends".* FROM "friends"
        ? app/views/friends/index.html.erb:15
        Rendered friends/index.html.erb within layouts/application (Duration: 3.1ms | Allocations: 1653)
      [Webpacker] Everything's up-to-date. Nothing to do
        Rendered layout layouts/application.html.erb (Duration: 1091.8ms | Allocations: 1455681)
      Completed 200 OK in 1111ms (Views: 1094.2ms | ActiveRecord: 0.1ms | Allocations: 1459319)
      
      
      192.168.1.1 - - [28/Feb/2024:15:01:41 JST] "GET /friends HTTP/1.1" 200 2020
      - -> /friends
      192.168.1.1 - - [28/Feb/2024:15:01:43 JST] "GET /packs/js/application-bf35e431b0b1e99daf74.js HTTP/1.1" 304 0
      http://localhost:3000/friends -> /packs/js/application-bf35e431b0b1e99daf74.js
      192.168.1.1 - - [28/Feb/2024:15:01:43 JST] "GET /favicon.ico HTTP/1.1" 200 0
      http://localhost:3000/friends -> /favicon.ico
      192.168.1.1 - - [28/Feb/2024:15:01:43 JST] "POST /mini-profiler-resources/results HTTP/1.1" 200 4392
      http://localhost:3000/friends -> /mini-profiler-resources/results
      192.168.1.1 - - [28/Feb/2024:15:01:43 JST] "POST /mini-profiler-resources/results HTTP/1.1" 200 1319
      http://localhost:3000/friends -> /mini-profiler-resources/results

    3. データの登録

    4. データの削除

      • あれ?[Destroy]で[Show]になってしまう???
        • app/views/friends/index.html.erbで

          link_to 'Destroy', friend, method: :delete, data: { confirm: 'Are you sure?' }

          の`method: :delete'が効いていない

        • 同時に`data: { confirm: 'Are you sure?' }'もうまくいってないようだ