ブックマークボタンのajax化

解説 ajaxとは? 実装 ブックマークコントローラを修正 ブックマークボタンをajax化 ブックマークボタンの切り替え処理を追加 解説 ajaxとは? 非同期通信と呼ばれる通信方法(画面が白くなった後に画面が切り替わる通信は同期通信) JavaScriptでサーバー側…

ブックマーク機能

Bookmarkモデルを生成して制約を追加する 一意性制約をつける モデルにも同じ内容を追加する モデルにアソシエーションを追加 ルーティングの追加 bookmarks_controllerの生成 bookmark処理と判定する処理をモデルに追加 コントローラー追記 お気に入りした…

掲示板画像アップロード機能を作る

アップローダーの作成 デフォルトの画像ファイルとアップロード可能なファイルの種類を指定する アップロード先のフォルダを、.gitignoreに指定 Boardテーブルに画像のカラムを追加する Boardにboard_imageを追加 Boardモデルに、アップローダーの仕様を宣言…

マイグレーションファイル

使用用途 データベースにテーブルの作成やカラムの追加を行う場合に利用する マイグレーションファイルの実行 $ rails db:migrate マイグレーションファイルの状態を確認する $ rails db:migrate テーブルにversionがあればup,なければdownと表示される 編集…

ルーティングの仕組み

ルーティングとは 受け取ったリクエスト(URLとHTTPメソッドの組み合わせ)をもとに、コントローラー&アクションを案内すること 基本となるアクション アクション名 意味 HTTPメソッド URL index 一覧表示 GET /tasks show 詳細表示 GET /tasks/:id new 新規…

新規登録機能の作成

一覧画面に新規登録のリンクを作成する h1 タスク一覧 # btnとbtn-primaryの2つのCSSクラスを与えることで、bootstrapがリンクをボタンにような見た目にする = link_to '新規登録', new_task_path, class: 'btn btn-primary' new_task_pathは、リンク先のUR…

コントローラとビュー

コントローラを作成する # bin/rails g controller コントローラ名 [アクション名 アクション名] $ bin/rails g controller tasks index show new edit ルーティング・・・URLとHTTPメソッドの組み合わせから、リクエストを処理すべきコントローラーとアクシ…

タスクモデルを作成する

タスクモデルのひな形を作成する モデル作成に便利なジェネレーターを使う # bin/rails g model [モデル名] [属性名:データ名 属性名:データ名] $ bin/rails g model Task name:string description:text 生成されるものの種類 ファイルパス 用途 モデルクラ…

アプリケーション作成の準備

アプリのひな形の作成 # ひな形の作成(新しいRailsアプリが作成される) $ rails new アプリ名 # 先程作ったアプリケーションディレクトリに移動 $ cd アプリ名 # データベースの作成 $ bin/rails db:create # サーバーを起動する $ bin/rails s データベース…

railsで""ActionView::Template::Error (undefined local variable or method `f' for"とエラー表示が出る

開発環境 Ruby バージョン2.5.1 Rails バージョン5.2.6 Gem バージョン3.2.26 エラーの内容 .nav.justify-content-end = link_to '一覧', tasks_path, class: 'nav-link' = form_with model: @task, local: true do |f| .form-group = f.label :name = f.tex…

分割するメソッド

メソッドを定義する def area puts 2 * 2 end area #=> 4 引数を使ってオブジェクトを渡せるメソッドを定義 def area(x) puts x * x end # 引数2をメソッドに渡す puts area(2) #=> 4 # 2つ以上の引数をもつメソッドを定義 def area(x,y) puts x * y end p…

ハッシュ

ハッシュの出力 p ({:coffee => 300, :coffee_latte => 400}) #=> {:coffee=>300, :coffee_latte=>400} # ハッシュの別の書き方(キーにシンボルを指定したときのみ) p ({coffee: 300, coffee_latte: 400}) #=> {:coffee=>300, :coffee_latte=>400} 変数に…

配列のメソッド

配列の要素数を取得 size # 要素の取得 puts [1,2,3].size #=> 3 配列の全要素の合計を得る sum # 要素の合計の取得 puts [1,2,3].sum #=> 6 # 平均値の計算 a = [1,2,3] puts a.sum/ a.size #=> 2 重複しているメソッドを取り除く uniq # 重複する要素を取…

Command Line

ファイルの作成 touch 「touch ファイル名」で空のファイルを作成 実行 Enterキー ファイルの中身の表示 「cat ファイル名」で使用 補完機能 ファイル名やフォルダ名の入力途中にTabキーを押すとファイル名を保管してくれる ディレクトリ作成 mkdir コマンド…