2019-01-01から1年間の記事一覧

【Rails】Deviseを使用したユーザー登録認証メールの設定

Deviseのインストールやログイン周りの設定は既に完了している前提。 ユーザー登録時に、登録したメールに認証用のリンクを送信し、本当にメールが合致するかどうかの認証を作ってみます。 user.rbに追記 devise :database_authenticatable, :registerable, …

【Rails】かんたんログイン機能の実装

なんらかのWebアプリを作るとき、面接で使うポートフォリオ用の場合だと、かんたんログイン機能というワンクリックでログインできる機能があると何かと便利です。 ということで簡単にかんたんログイン機能を実装してみたので、記録しておきます。 既にログイ…

【Rails】簡単なAjax(非同期通信)を実装する

いいね機能を例に簡単にAjax機能を追加してみます。 Ajaxの概要 サーバーと通信したときに、ページ遷移を行わず指定した一部分だけを変更する処理のこと。 何らかのボタン等を押して、リクエストを送ったときに 本来ならば設定したerbやhamlをレンダリングす…

【Rails】deviseとomniauthでTwitterログイン機能を作るメモ

既にdeviseで普通のログイン機能は作っている前提のメモ。 Gemのインストール gem 'devise' gem 'omniauth-twitter' $ bundle install TwitterAPIkeyを入手するためにDeveloperに登録 https://developer.twitter.com/en/apps 初めて利用するときは、とりあえ…

【Rails】ハッシュを並び替える

ハッシュを並び替える。 基本、sortメソッドを使用する。 使い方 ハッシュのキーをソートするとき hash.sort ※降順の場合は hash.sort.reverse と、後ろにreverseを付ける。 ハッシュの値でソートするとき hash.sort_by{ | k, v | v } sort_byを使う。 kがキ…

マザボを交換後、vagrant upがprivate keyで止まる問題

実は先日、散々な目に合いまして、マザーボードを交換しました。 まあ交換したマザーボードは初期不良が発生していて、メモリが4枚させるはずが2枚しかさせないという状況で仕方なく利用しているわけですが… 次の休みにでも返品しに行こうと思います。 さて…

ファンが回り止まりの繰り返しでPCが起動しなくなった問題。後編

前回の続きです。 tkmrtech.hateblo.jp マザーボードの交換 もうその日は20時になりそうな閉店時間でした。 ギリギリでお店に駆け込み、自分が使っているCPUの型番を伝えて、なんとか動くマザーボードを購入。 長かった一日がやっと終わる。 そんな風に思っ…

ファンが回り止まりの繰り返しでPCが起動しなくなった問題。前編

普段はWeb系の勉強ブログなんですが、恐らく人生でこれ以上不幸に不幸が積もった天文学的確率不幸が起こるのはほぼなさそうなので、書いておきます。 そもそもこれのせいで2日ほど勉強できなかったですし。 ある朝のことでした。 いつもと同じ時間に起床、机…

Railsで多対多のお気に入り機能を作成する

もう何度も作成していますが、未だにややこしく、ググったりしているので一度まとめようと思いました。 まず、小文字大文字、複数形などが整理できていないときは確認する。 qiita.com 中間テーブルの作成 rails g model Subscribe user:references book:ref…

APIから持ってきた日付データが文字列型だったときの解決策

楽天BooksAPIからは本の発売日を文字列として抽出することができます。 しかし実際に扱うとなると文字列だと使い勝手が悪かったので、あくまで自分のアプリを作成する上での解決策を記しておきます。 結論から言うと、正規表現で弄って、int型にするだけ。 …

BootstrapのCollapseをeach do内で扱う

下記のようなBootstrapのCollapse(折りたたみボタン)を利用する場合、 折り畳み~Bootstrap4移行ガイド each do内だと、上のボタン式例でいうcllapseExampleの部分はcollapse<%= key %>などとする必要がある。 <% book.each do|key| %> <p> </p>

【Rails】belongs to関連のデータがsaveされないとき

ちょっと悩んでしまったので備忘録。 結論から言うとデフォルトでnilは許可されていないのが原因でした。 belongs_to :book, optional: true というように後ろにoptional: trueをつけることでnilを許可させることが出来ます。 どうやらrails5からはデフォル…

楽天APIで在庫状況に関わらず全て表示するときの注意点

現在楽天BooksAPIを用いてWEBアプリケーションを開発しているのですが、割としょうもないことで悩んでいたので、備忘録として書いておきます。 まず楽天APIにはoutOfStockFlagというサービス固有パラメータが存在しており、これの値を0か1に変更することで、…

【Rails】オブジェクトの理解

オブジェクトとは 現実世界における”モノ” Railsにおける処理をするための万物。 オブジェクトの例 文字列 ""で囲ったもの 数値 そのまま。数。 object_id オブジェクト.object_idとすることで、object_idという固有の番号を見ることができる。 すべてのオブ…

【Rails】管理者ユーザーの作成

簡単な管理者ユーザー機能を作ったメモ。 まずは既存のusersテーブルにカラムを追加。 rails g migration AddAdminToUsers migrationファイルを編集する。 class AddAdminToUsers < ActiveRecord::Migration[5.2] def change add_column :users, :admin, :bo…