開始89日目〜超初心者、文系、30代のスタート〜
ブログテンプレート
本日学んだこと:
require_tree
は同列を読み込むこと
rails db:migrate:reset
Bundle install後、既にあるデータベースを消去する。
→記述が正しいの反映されない場合はこれを使ってみる。
//= require jquery
→これをappreciation.jsに入れないと実装できない。
Jsファイルにおいて、jqueryのajaxを用いてコントローラーまでリクエスト送る。
→コントローラーからテンプレートホルダーのjbuilderを介してdone(ダン)ないしはfailに返ってくる。
※フォームが発火した時にイベントが発生するか確認必須。
$(function(){
$().on('submit', function(e){
e.preventDefault();
})
});
ブラウザのデフォルトで機能してしまうものをキャンセルして。
404エラー:記述したURLが間違っている可能性高い。
json.text @post.text
右から左に読み換えられる。
respond_to
Railsのコントローラーで利用できる respond_to というメソッドを使うと、リクエストに含まれているレスポンスのフォーマットを指定する記述を元に条件分岐ができます。
必要なデータだけをJSONなどの形式で返すサーバの仕組みのことをAPI、もしくはJSON API
$(*****).on(*****, function(e)
→親要素の中の子要素、というような書き方になる。
例えば、投稿フォーム内の送信ボタンを押した時にイベント発火するというように設定できる。
animateメソッド
animateメソッドは、メソッドを利用したオブジェクト(レシーバ)が持つプロパティなどを、指定した値まで徐々に変化させることができるメソッドです。
Turbolinksはリンクを生成する要素であるa要素のクリックをフックにして、
移動した先のページをAjaxで取得します。
その後、取得ページのデータが遷移前のページと同じものがあれば再利用し、
title・body要素を置き換えて表示します。
データを再利用するので、アプリケーションの速度向上などのパフォーマンスの向上を
させることができます。
- 「disabled」とは、HTML要素を無効化する属性
- 「disabled」は、jQueryの「prop()」「is()」メソッドで操作する
- 「disabled」の操作には「attr()」メソッドは向かない
→実装のコツ、どのイベントが発火して、成功?失敗?した時にどうなるのか?を考えてコードを記述していくとわかりやすくなる。
どこにも属さずに記述すると、何も起きない。
time_formats
→strftimeメソッドを使わなくてもto_sメソッドで取得できる形式
手順:
config/initializersフォルダ内にtime_formats.rbを作成。
Date::DATE_FORMATS[:default] = "%Y年%m月%d日"
Date::DATE_FORMATS[:date] = "%m/%d"
DateTime:DATE_FORMATS[:default] = "%Y年%m月%d日 %H時%M分"
DateTime:DATE_FORMATS[:datetime] = "%Y/%m/%d %H:%M"
[:default]とするとto_sメソッドを使った時の取得形式を変更できます。
[:名前]とするとto_s(:名前)の形で指定した形式で取得することができます。
lこの部分は好きな名前をつけることができます。
いくつでも指定が可能です。
JSのAjax関数を実行、DBから値を取得し、JSONでデータを変換、done関数で実行という順番に処理されている。
明日やること:
インクリメンタルサーチ実装を完了させる。
感想:
コードに対して少し疑問が生じた。
補足カリキュラムで時間をかけすぎた為遅れが生じた。
それでもなんとかカリキュラムを進めることができた。
もう少し、スピードアップと同時に理解力を深めていきたい。