Closed19

Ruby(+ on Rails)を触ってみる

avaiceavaice
puts "hello ruby!"
puts 1 + 2 * 3

output

user@Users-MacBook-Pro ruby % ruby hello_world.rb 
hello ruby!
7
avaiceavaice

試しに足し算ができるAPIを作ってみる

rails new calculator_api --api

railsでAPIを作りたいときは、--api optionを指定してAPIモードという挙動にするらしい(?)

avaiceavaice

add_calcuratorのディレクトリに移動して、rails sするとサーバーが起動する
なんかかっこいい

avaiceavaice

appの中がメインのコードたち?
最初からMVCに沿ってコードが分離してる

avaiceavaice

初めてJSXを見た時と同じ拒絶反応が・・・慣れか

avaiceavaice

rubocopというlinter & formatterを兼ねたもの?を入れた。
VSCodeの拡張機能にはruby-rubocopというものを入れた

avaiceavaice

ルーティングの設定。

rails/calculator_api/config/routes.rb
Rails.application.routes.draw do
  # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html

  # Reveal health status on /up that returns 200 if the app boots with no exceptions, otherwise 500.
  # Can be used by load balancers and uptime monitors to verify that the app is live.
  get "up" => "rails/health#show", as: :rails_health_check

  # 計算API - 足し算
  post 'calculate/add', to: 'calculator#add'
end
avaiceavaice
calculator_api/app/controllers/calculator_controller.rb
# frozen_string_literal: true

# 電卓機能
class CalculatorController < ApplicationController
  def add
    num1 = params[:num1].to_f
    num2 = params[:num2].to_f
    result = num1 + num2

    render json: { result: result }
  end
end
avaiceavaice

おー

user@Users-MacBook-Pro % curl -X POST -d "num1=5&num2=7" http://localhost:3000/calculate/add
{"result":12.0}%

小数点計算もできる◎

user@Users-MacBook-Pro % curl -X POST -d "num1=5.5&num2=7.4" http://localhost:3000/calculate/add
{"result":12.9}%  
このスクラップは2023/11/02にクローズされました