記事一覧
Ruby on Rails5 ProgateVII ユーザーのプロフィール画像設定
・初期状態の画像の設定
・編集画面からのプロフィール画像編集
仕組みデータベースに画像のファイル名を保存しておき、そのファイル名の画像を表示する。
usersテーブルに画像カラムを増やす。
*画像はpublicフォルダに保存
カラムの追加方法 マイグレーションファイルの作成
マイグレーションファイル内容のデータベースの反映
マイグレーションファイルのみを作成する
*rails g mo
Ruby on Rails5 Progate Ⅵ ユーザーの登録・編集
〜 ユーザーの登録 〜
1. ユーザーの一覧
2. ユーザーの詳細
3. ユーザーの新規登録
4. ユーザーの情報編集
ユーザーを管理するテーブルとモデルの作成
usersテーブルを用意
(データ型: string は短い文字列を保存する際に使う)
[コマンドライン] *$ rails consoleを起動する前に実行 $rails g model User name:strin
Ruby on Rails5 Progate V エラーのある投稿を防ぐ メッセージの表示
バリデーションバリデーション・・・データベースをチェックして不正なデータが保存されないように防ぐ仕組み
モデルで設定する
validatesでカラム名と内容を指定
↓空の投稿を制限するバリデーション(presence)↓
ex.)[models/post.rb]validates :検証するカラム名, {検証する内容}validates :content, {presence: true}
Ruby on Rails5 Progate Ⅳ サイト利用者が投稿編集
投稿詳細ページに「編集」,「削除」項目を追加して実行できる様にする
データベースを操作して編集、削除ができる様にする
〜投稿の編集〜
rails consoleで ①編集したい投稿を取得
②その投稿のcontentの値を上書き
③データベースに保存
$rails console$ post = Post.find_by(id :1) //①$ post.content = "上
Ruby on Rails5 Progate Ⅲ サイト利用者の投稿
.find_byメソッドで投稿を取得
「モデル名.find_by(カラム名: 値) 」
でデータベースから条件に合致するデータを取得する
ex.)[rails console]post = Post.find_by(id:3) //post.content で取得したデータのcontent部分を表示
投稿詳細ページの作成 Ruby on Railsにおいて新たにページを作成する際に
Ruby on Rails5 Progate 2 最後
共通のレイアウトをまとめる(phpみたいなの)
[application.html.erb]に共通のhtlmレイアウト(ヘッダー等)をまとめる
各html.erb の viewファイル は、
[application.html.erb]の<%= yield %>に代入されて
[application.html.erb]の一部としてブラウザに表示されている
単純に[application.ht
Ruby on Rails5 Progate 2 (DB) 続き
テーブルからのデータ取り出し
[rails console]> post = Post.first //Postテーブルにある最初の行のデータを取得> post = Post.content //post.firstで取得したデータからcontent部分を取得(表示)
テーブルから全データの取り出し
[rails console]> posts = Post.all
Ruby on Rails5 Progate Ⅱ (DB) 続き
データベースの仕組み
「行」・・・1つ1つの投稿データ
縦の「列」・・・カラム
1行ずつのデータ・・・レコード
データベースへの操作方法
・テーブルを作成する(画像のやつ)
・マイグレーションファイルでデータベースに変更を加える指示
マイグレーションファイル、テーブルの作成方法
[コマンドライン]$ rails g model Post content:text//rails g mod
Ruby on Rails5 Progate Ⅱ (DB)
データベース
ページに表示する情報を保存しておく場所
投稿に関するページ作成
目的に応じたコントローラを作成した方が良い
(*投稿ページの場合 postコントローラ等)
rails generate controller post(コントローラ名) index(アクション名)の省略
= rails g controller post index のように省略できる
.erbの