技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

2019-02-01から1ヶ月間の記事一覧

デフォルトのタイムゾーンを日本時間にする方法

デフォルトのタイムゾーンを日本時間にする方法 RailsアプリケーションのデフォルトのタイムゾーンのURCから日本時間に変更する方法を紹介します。 config/application.rbを以下のように修正します。 . . . module Hogehoge class Application < Rails::Appl…

Ruby 例外処理の書き方

Ruby 例外処理の書き方 Rubyの例外処理の書き方は以下のようにbegin ~ rescue ~ end文を活用します。 begin 例外を発生させる可能性のある処理 rescue 例外が起こった場合の処理 end 例外クラスを指定する場合はこんな感じ begin 1/0 rescue ZeroDivisionErr…

(ActiveRecord)new createの違い

new newでオブジェクトを作成する。saveするまで保存されない。 micropost = Micropost.new(hoge: 'hoge') micropost. persisted? # => false. オブジェクトだけ作成されていて、保存されてない micropost.save micropost. persisted? # => true. saveしたあ…

Rubyの命名規則

クラス、モジュール 原則CamelCaseを使う User UserName Micropost MicropostName ネストした場合 Hoge::User Hoge::UserName Hoge::Micropost Hoge::MicropostName メソッド、変数 原則スネークケースを使う find_user new_micropost 定数 定数は全部大文字…

Scopeが便利

Scopeが便利 カスタム用のクエリを作成する時にはscopeが便利 Class hoge < Application:Record . . . belongs_to :user scope :recent, -> {order(created_at: :desc)} . . . ①hoge = Hoge.recent ②hoge = Hoge.recent.first ③hoge = Hoge.recent.last ①全…

helper_methodの使い方

helper_methodの使い方 Viewでもhelper_methodを利用したい場合はControllerにhelper_methodを利用。 具体例 ApplicationControllerで以下のようにcurrent_userというメソッドを定義することで、全てのコントローラから利用できるようになります。 さらにhel…

モデルの検証(validation)を行われる登録と更新メソッド

モデルの検証(validation)を行われる登録と更新メソッド モデルの検証メソッドにはモデル登録時に検証(validation)を行うメソッドと行わないメソッドがある。 画像参考: 現場で使える Ruby on Rails 5速習実践ガイド 参考書籍 現場で使える Ruby on Rails 5…

tryメソッド

tryメソッド Railsコードの中にtryメソッドを発見。最初はRubyのメソッドと思ったけどRailsが用意しているメソッドらしい。 使用用途 使用用途はいたって簡単でオブジェクトがnilでない場合のみ、そのオブジェクトのメソッドを実行したい!時に使う これを使…

レンダーとリダイレクトの違い

レンダーとリダイレクトの違い Railsのコントローラ層をスムーズに開発するには、レンダーとリダイレクトの区別が欠かせまんせん。 レンダー render 一覧画面や新規登録画面を表示するときにアクションに続けてビューを表示させるときに使う (rednerで呼び出…

要素を追加する(insertBefore)

要素を追加する(insertBefore) 新しい要素をHTML文書に追加するにはinserBeforeメソッドを使用します。 例えば、createElemetnで作成した要素はまだどこにも所属していないので、そういう要素をinsertBeforeを使ってHTML要素に追加します。 var practice = d…

フォームの残り文字数を表示する方法をJavaScriptで実装

フォームの残り文字数を表示する方法をJavaScriptで実装 よく見る残り文字数は〇〇ですっていうやつをJSで実装する方法 実装方法 index.html . . <html lang="ja"> <head> <meta charset="UTF-8"> <title>ほげー</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <button id="button">お問い合わせ</button> <form action="" id="form"> <p></p></form></body></html>

JavaScriptの主要イベント一覧

JavaScriptの主要イベント一覧 ■ マウス操作 click -> 要素をクリックした時 dbclick -> 要素をダブルクリックした時 mouseout -> マウスポインタが要素上から出た時 mouseover -> マウスポインタが要素上に乗った時 mouseup -> マウスポインタを話した時 mo…

JavaScriptの主要イベント一覧

JavaScriptの主要イベント一覧 ■ マウス操作 click -> 要素をクリックした時 dbclick -> 要素をダブルクリックした時 mouseout -> マウスポインタが要素上から出た時 mouseover -> マウスポインタが要素上に乗った時 mouseup -> マウスポインタを話した時 mo…

繰り返し処理

繰り返し処理 javascriptの繰り返し方法を簡易備忘録 while while (year <= 2000) { 行いたい処理 } do ... while do { 行いたい処理 }while (year <= 2000) whileとdo ... whileの違いは? do ... whileは最低でも1回以上繰り返したい場合に使用。 do ... …

git/github 備忘録

git基礎知識 用語確認 ■ワーキングツリー[working tree]:最新のファイルの状態 ■インデックス[index](ステージ[stage]):コミットするためのファイルの状態 ■ローカルリポジトリ[local repository]:ファイルの変更履歴を記録(手元で管理) ヘッド[HEAD]…

ぼっち演算子 &.

ぼっち演算子 &. &.という演算子を使ってメソッドを呼び出すと、レシーバーがnilであった場合でもエラーが発生しなくなります。 class User def name "名前" end end user = User.new user.name -> "名前" object = nil object&.name -> nil object.name -> …

moduleはオブジェクトを作成できない

moduleはオブジェクトを作成できない moduleはクラスと異なり、オブジェクトを作成することが出来ません。 例えばこんな時にエラーになります。 module Chatting def hello "hello" end end object = Chatting.new -> NoMethodError 「newなんてメソッドは知…

SAML認証

SAML認証 シングルサインオン規格の一つ。 シングルサインオンとは一つのIDとパスワードで複数のWEBアプリやクラウドサービスにログインできる仕組みの事。 SAMLとは異なるインターネットドメイン間でユーザー認証を行うための認証情報の規格のことです。 SA…

ファビコンとタッチアイコンの設置方法

ファビコンとタッチアイコンの設置方法 Webページには本文で利用する画像以外に、用意しておくと良い画像があります。 代表的なものに「ファビコン」と「タッチアイコン」です。 ファビコンとは? お気に入りやタブに表示される画像のこと。 タッチアイコン…

スマホで画像サイズを最適に表示させる方法

スマホで画像サイズを最適に表示させる方法 現代ではWebページを見る方法が増え、スマホで見る人も増えました。 ですのでスマホでwebページを見た時でも綺麗な画面サイズで見えるようにすることが必須です。 その場合に良く使う技が「viewportの設定」を用い…

(初心者)全てのWEBページに必要な要素

(初心者)全てのWEBページに必要な要素 どんなWebページを作るにしてもタイトルなどの要素は必須になります。 そこで、最低限必ず必要になるHTML要素をピックアップしますー !DOCTYPE HTMLには様々な種類があります。 バージョンによって利用できるタグが違…

JavaScriptでじゃんけんゲームを作る2

[関数version]JavaScriptでじゃんけんゲームを作る2 lhiroki1205.hatenablog.com こちらで作成したじゃんけんゲームをJavaScriptの関数を使ってリファクタリングしたいと思います。 関数にする箇所 (自分)じゃんけんの手を入力する -> getHumHand関数に変…

helperでカスタマイズしたメソッドを全てのコントローラーから使用する方法

helperでカスタマイズしたメソッドを全てのコントローラーから使用する方法 例えばapp/helpers/session_helper.rbにたくさんのメソッドを書いてそれをどのコントローラでも使えるようにするにはApplicationControllerにincludeしてあげるとどのコントローラ…

フレンドリーフォワーディング

フレンドリーフォワーディング リダイレクト先をユーザーフレンドリーにします。 Ruby on Rails チュートリアル:実例を使って Rails を学ぼう 発生内容 ① ログインしていないユーザーがeditページを開く ② ログインしてくださいと注意勧告される ③ ログイン…

railsで自動作成以外に自分でルート追加する方法

railsで自動作成以外に自分でルート追加する方法 毎回忘れるのでメモ member resources :users do member do get :option end end 以上のようにmemberを使うと以下のようなルートを作ることが出来る GET /users/:id/option collection resources :users do c…

form_for(@user)を使ってフォームを構成すると時にPOSTかPATCHリクエストを送る判断方法

form_for(@user)を使ってフォームを構成すると時にPOSTかPATCHリクエストを送る判断方法 Railsでform_for ヘルパーを使うときにPOSTかPATCHリクエストを判断方法が良く分からずに曖昧な感じでしたが、以下の@user.new_record?がtrueのときにはPOSTを、false…

resourcesをroutes.rbに追加すると。RESTfulなアクションリソースを自動作成してくれる

resourcesをroutes.rbに追加すると。RESTfulなアクションリソースを自動作成してくれる sampleのURLを生成するための多数の名前付きルートと共に、RESTfulなsampleリソースで必要となるすべてのアクションが利用できるようになります (routes.rb) resources …

form_forでインスタンス変数を使うと編集ページがうまく描画される

form_forでインスタンス変数を使うと編集ページがうまく描画される @userインスタンス変数を使うと、編集ページがうまく描画されるようになります (下記図参照)。 "Name"や"Email"の部分を見ると、Railsによって名前やメールアドレスのフィールドに値が自動…

Rubyではメソッド内で最後に評価された値が返り値になる

Rubyではメソッド内で最後に評価された値が返り値になる Rubyでは、returnをつかって明示的に指定された値や、メソッド内で最後に評価された値がメソッドの返り値になります。 つまりこのコードと class User def name return "ホゲー" end end このコードの…

JavaScriptでじゃんけんゲームを作る

JavaScriptでじゃんけんゲームを作る JavaScriptの条件分岐を活用してじゃんけんゲームを作成 じゃんけんゲームの仕組み (自分)じゃんけんの手を入力する (CP)CPのじゃんけんの手を取得 (自分)どちらが勝ったかの判定 (CP)結果を表示 めちゃシンプル…