일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 연습문제
- 자바
- Web
- C로 시작하는 컴퓨터 프로그래밍4판
- 일본어
- 비즈니스일본어
- jsp
- Spring
- rails7
- 반다이몰
- java
- 인프런
- 単語
- nico
- rails
- 日本語
- javascript
- springboot
- html
- 디지몬
- Flutter
- 건담
- Python
- DART
- ruby
- vscode
- 건담베이스
- 一日一つメソッド
- メソッド
- CSS
- Today
- Total
AR삽질러
Rails 一日一つメソッド (Day2) findメソッド 본문
Rails 一日一つメソッド (Day2) findメソッド
Active Recordメソッドとは
- Active Recordライブラリに含まれでいるメソッドを意味し、RailsのORM(Object-Relational Mapping)SystemでDatabaseと相互作業するRubyObjectを提供する。
- Active RecordによってSQLを直接作成しなくてもDabaBaseRecordを生成、検索、修正、削除ができる。
主なActive Recordメソッド
1. CRUD作業
create | 作成 | where | 条件に合うレコード 検索 |
find | IDを検索 | update | Recordの属性Update |
find_by | 与えられた条件に合う最初のレコード 検索 | destroy | Record削除 |
2. 関係管理
has_many | モデル間の関係定義 |
belongs_to | |
has_one | |
has_and_belongs_to_many |
3. 検証
validates | Modelの属性に対する有効性検証ルールの定義 |
4. CallBack
before_save | レコードのライフサイクル中に特定の条件で呼び出されるメソッド |
after_create |
5. 集計
count | レコードの集計情報検索 |
sum | |
average | |
minimum | |
maximum |
等々
findメソッドとは
- 'find'メソッドはRudy on Railsで特定のIDを探す時に使うメソッド。
構文
Model.find(id)
与えられたRecordをDabaBaseから探す。
return : 一致するRecordをオブジェクトに返す。
例)User.find(1) : usersテーブルからIDが1のユーザーを探す。
もしIDに該当するRecordがない場合、'ActiveRecord::RecordNotFound' 例外を発生する。
1. RailsConsoleでUser作成
irb(main):006> user = User.find(1)
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]]
=>
#<User:0x00000265cb549c40
...
irb(main):007> puts user.name
Arang
=> nil
irb(main):008> puts user.email
arang@example.com
=> nil
2. users_controller.rb
class UsersController < ApplicationController
def index
@users = User.all
end
def show
@user = User.find(params[:id])
end
end
showアクション
- @user = User.find(params[:id]) : users/id パラメータを使ってUserモデルでIDを探す。
- User.find : findメソッドは与えられたIDと一致するUserオブジェクトをDataBaseから探す。
- params[:id] : paramsはControllerが受けるパラメータを持っている ヘッシュ
3. routes.rb
Rails.application.routes.draw do
get 'users', to: 'users#index'
get 'users/:id', to: 'users#show', as: 'user'
end
users/:id URLパタンをUsersControllerのShowアクションと紐付ける。
:id は動的セグメントで、URLの部分がparams[:id] でコントローラに配信される。
as: 'user' : Routeに対するURLヘルパーメソッドの名前を指定し、これでuser_pathなどのヘルパーメソッドを使うことができる。
4. show.html.erb
<h1>User Details</h1>
<p>
<strong>ID:</strong>
<%= @user.id %>
</p>
<p>
<strong>Name:</strong>
<%= @user.name %>
</p>
<p>
<strong>Email:</strong>
<%= @user.email %>
</p>
https://github.com/designAR/rails_method_study/tree/day01
'Ruby > RubyOnRails-日本語' 카테고리의 다른 글
Rails 一日一つメソッド (Day4) createメソッド (0) | 2023.12.24 |
---|---|
Rails 一日一つメソッド (Day3) all, find_dy, renderメソッド (1) | 2023.12.23 |
Rails 一日一つメソッド (Day01) 基本理念 (0) | 2023.12.21 |
Railsとは? (0) | 2023.12.13 |
Ruby On Rails - 開発環境構築(Windows)ー(0) (0) | 2023.09.28 |