JSON serverとダミーJSONの作成方法

サーバーサイドのAPI実装がまだできていない場合に使用できる。
www.webprofessional.jp

route.rbのnamespaceとmoduleととscopeの違い

namespace

URL、controller格納フォルダ共、指定のパスになる。

module

controllerの格納フォルダだけ、指定パスになる。

scope

URLだけ、指定のパスになる。

参考 qiita.com

vue.js component

gihyo.jp

上記の「フルーツの名前をリストするコンポーネント」を、記載されているコードを
元に作成してもエラーになる。(vueのバージョン1系でも2系でも駄目)
どうにもスッキリしないので動くように直した。

rails tutorialメモ

8.1.1 Sessionコントローラ

http://railstutorial.jp/chapters/log_in_log_out?version=4.2#sec-sessions_controllert

ログインフォーム

 newアクションで処理  createアクションにPOSTリクエストを送信→ログイン  destroyアクションにDELETEリクエストを送信→ログアウト   $ rails generate controller Sessions new newアクション生成で対応するviewも生成される。 createやdestroyには対応するビューが不要なのでnewだけ指定している。

HTTPリクエスト URL 名前付きルート アクション 用途
GET /login login_path sessions#new 新しいセッションのページ(ログイン)
POST /login login_path sessions#create 新しいセッションの作成(ログイン)
DELETE /logout logout_path sessions#destroy セッションの削除(ログアウト)

以下で全ルーティングのリストが表示される。

$ rake routes

ActiveRecord操作

user = User.first
user.email = 'aaaaa@example.com'
user.save!
#更新失敗時に、user.saveはfalseを返し、
#user.save!は例外を発生させる。

8.2.1 log_inメソッド

sessionメソッド 一時的なcookies

cookiesメソッド 永続的なcookies

「||=」とは何か?

以下の要領で覚える。

@fooがnil(false)ならば"bar"が代入される。

x      =  x       +  1      =>  x       += 1
x      =  x       *  3       =>  x      *=  3
x      =  x        -  5      =>  x       -=  5
@foo = @foo || "bar" => @foo ||= "bar"

認証機能の完成に必要なのは、一口に言えばログインステータスとユーザーIDに基いてページへのアクセスを制限することだけです。

ES6におけるthis

ES6を使うに当たって、thisの挙動は注意する必要がある。

shirusu-ni-tarazu.hatenablog.jp

.bashrcの変更設定をすぐに反映させる

基礎的なことだよワトソン君、だけど忘れてしまったのでメモ。

$source ~/.bashrc

または

$. ~/.bashrc

Knockout.jsのViewModel間でデータのやりとりを行う方法

www.wrapcode.com

Knockout.jsで別々のViewModel間でデータのやりとりを行う方法がわからなかったので
調べた所、上記のサイトに各種方法が書いてあった。

"ko.subscribable"というfunctionがnativeであるけれど詳しいドキュメントは
ないらしい。
このfunctionを使う方法もあるが、"knockout-postbox"という拡張を使うと
もう少しシンプルに書ける。

GitHub - rniemeyer/knockout-postbox: A small library that uses Knockout's native pub/sub capabilities to facilitate decoupled communication between separate view models or components.

サンプルとして記載されていたコードが動かなかった(jsfiddleでの外部コード読み込みが"https"のみ対応となったため)ので自分でCodePenに書いてみた。

See the Pen knockout.js multiple view model 2(Pub-sub) by tamoriinu (@yokoyama) on CodePen.