[Ruby on Rails]基本動作手順を理解する-計算機


get方式を利用して非常に簡単な計算機を編纂し、動作過程を理解しました!


🔋 コントローラの作成


コントローラは rails g controller calculatorsに設定できます.
最後にコントローラ名です.
  • コントローラ名は通常複数形です.
  • index add…追加すると、アクションも一緒に生成されます.
  • gはgenerateの略である.
  • 🔋 ファイルの確認


    主に開発config/routes.rbapp/controllersapp/views.(マスターファイル)

  • config/routes.rbconfig/routes.rburlリストを含む.長い目で見ればurlsです.pyファイルの役割に似ています.例えば、get "/articles", to: "articles#index".これは、get方式でlocalhost:3000/articlesでarticlesコントローラのインデックス動作を実行することを意味します.(localhost:3000は、上記のように変更される可能性があります)

  • app/controllersapp/controllersは、ビューとモデルを接続して論理を処理するファイルを含む.コントローラごとに1つのファイルがあり、複数のアクションがある可能性があります.(index、addなど...)

  • app/viewsapp/viewsは、画面に表示されるもののファイルです.
    ルビー構文を使用する場合、<% %>はその間にコードを記述します.
    出力時に<%= %>の間にコードを記述します.
  • 🔋 routes.作成

    Rails.application.routes.draw do
      # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
      root 'calculators#add'
    end
    上記のように.
  • root"computer#add"は、最初の画面がcomputerコントローラのadd動作であることを示す.
  • rails s sで実行します.

    🔋 add(加算)ビューの作成


    最初はviews/calculatorsファイルが空の場合があります.
    に追加します.erbファイルを作成します.このファイルにはフォームがあります.
    <form method="get" action="/result">
        <input type="number" name="num1" /> +
        <input type="number" name="num2" />
        <input type="submit" value="덧셈하기"/>
    </form>
  • get方式でデータを送信し、submitボタンを押すと/result方式でデータを送信します.
  • getメソッドは、データ値をアドレスに直接暴露します.
  • 各inputの名前を記入する必要があります.これにより、コントローラは値をパラメータとすることができます.
  • 🔋 結果コントローラ、ビュー+ルーティングを作成します。変更

  • controller合成
    add.erbからの2つの数字を受け取って加算しましょう.
  • class CalculatorsController < ApplicationController
      def add
      end
    
      def result
        @result = params[:num1] + params[:num2]
      end
    end
    
    上記のコードのように、初期設定コードにresultのコードを1行追加するだけでいいです.
  • @は、ビューファイルでインスタンス変数として使用できます.
    (変数の詳細については、Googleでruby変数を検索して詳細を入手してください!)
  • formの値を受信する場合は、paramsを記入し、「:~~~~」~~」セクションにformで作成したname値を記入するだけです.

  • ビュー/結果の作成
    上のコントローラで使用している@result変数を出力します.<%= @result %>これで1行書けばいいです.<%=%>これは物を印刷するときに書いたものです.

  • routes.変更
    add.erbでsubmitボタンを押すと/result urlになります.ただし、現在は/result urlの処理コードがありません.だからルートを選ぶにあるget '/result', to: 'calculators#result'このように追加すると、コンピュータコントローラのresult動作が実行されます.コントローラが実行されると、ビューが実行されます.
  • 🔋 に質問


    でも!!!1+1後にボタンを押すと、値出力は11になります.
    ->num 1とnum 2が文字列に追加されます.お兄さん、ちょっと変えます!
    @result = params[:num1].to_i + params[:num2].to_i
    これでto iを追加して整数に変換できます!

    /result

    結果値がよくなったことがわかります!
    こんな簡単な計算機が完成しました.減算、乗算、除算のフレームワークはすべて同じで、残りは試してみます.郵送は路線です.rbのget,add.erbフォームの方法をpostに変更すればいいです.(get方式とは異なり、post方式ではurlにデータ値が露出しません!)
    ソース