しおブログ言うてますけど

技術ブログ言うてますけど技術以外のことも発信すると思われ。RubyとかRuby on Railsとか生き方とかジャンルにこだわらず自分の好きなように。初心者なのでお手柔らかに。

Gem gretelを使ってパンくずを設定する方法

こんにちは。塩濱です。 今回はgretelというGemを使ってパンくずを設定する方法についてまとめていきたいと思います。 パンくずとはこんな感じで自分が今どのページにいるかわかるというものです。(間違ってたら修正します) 前提 今回使用するgreteというGem…

RSpec 〜ログイン処理をmoduleにまとめる

こんにちは。塩濵です。 RSpecを使ってテストを書いている時、ログインの処理を書くことがよくあります。 毎回書くのは大変なので今回はログイン処理のテストをmoduleにまとめることで、毎回書かずにわかりやすいコードにするということについてまとめていき…

ransackで「いつ~いつ」を検索するためのカスタマイズ方法

こんにちはしおはまです。 今回はransackというGemを使って「いつ~いつ」という条件で検索できるようにするためのカスタマイズ方法についてまとめていきたいと思います。 基本的な検索方法については別の記事で紹介しておりますのでそちらを参照してください…

yarnでインストールしたAdminLTE3を使った管理画面の作り方

こんにちはしおはまです。 今回はAdminLTE3を使った管理画面の作り方をまとめていきたいと思います。 そもそもAdminLTE3ってなんですか?って思いますね。 簡単にAdminLTEの説明 AdminLTE3とはBootstrap3をベースにした、管理画面等のテンプレートテーマです…

sorceryでパスワードリセット機能を実装する

こんにちは。しおはまです。 今回はsorceryというGemを使ってパスワードをリセットする機能を実装する過程をまとめてみたいと思います。 sorceryとは そもそもsorceryってどういうGemなのか説明します。 Sorceryは、ユーザ認証機能を簡単に実装できるライブ…

ransackで検索機能を実装する

こんにちは、しおはまです。 今回はransackという検索機能を実装できるgemの使い方をまとめてみます。 ransackとは 冒頭で説明した通り、ransackは検索機能を簡単に実装することができるRailsのGemです。 検索機能を実装することで掲示板やToDoアプリ、その…

kaminariの使い方 まとめ

こんにちは。しおはまです。 今回はページネーションを実装するのに便利なGem(kaminari)の基本的な使い方をまとめてみます。 ページネーションとは よくブラウザとかで見るこれです。(下記の画像を参照) 検索結果が多くなり、1ページに収めようとするとUI的…

配列の多重代入の応用

一般的な多重代入では左辺の変数よりも右辺の個数が多い場合ははみ出した値が切り捨てられる。 a, b, c = 1, 2, 3, 4, 5 a #=>1 b #=>2 c #=>3 4と5は切り捨てられる... しかし左辺の変数に*をつけると残りの全要素を配列として受け取ることができる。 a, b,…

配列の取得方法について

配列の取得方法について様々なやり方があるのでまとめてみた。 添え字を2つ使う 添え字を2つ使うと添え字の位置と取得する長さを指定することができる。 取得例 配列[位置, 取得する長さ] 具体例 a = [1, ,2, 3, 4, 5] a[1, 4] #=> [2, 3, 4, 5] values_atメ…

名前空間ってなに?って疑問を解消してみた

こんにちは。たかあきです。 現場Railsで勉強していると名前空間やモジュールといった難しい(?)言葉が出てくる。 モジュールはクラスと違い、継承ができないといった特徴があるが、名前空間ってなんぞや...となったのでRailsのルーティングにおけるモジュー…

以外とわかっていなかったRubyにおける範囲

こんにちは。たかあきです。 Rubyでは「1から5までの数字」や「文字列"a"から文字列"d"まで」といった値の範囲を表すオブジェクト(Range)がある。 チェリー本で勉強するまではなんとなくでしかわかっていなかった範囲オブジェクトだが、伊藤大先生の解説によ…

配列のメソッドまとめ

こんにちは。たかあきです。 Rubyを勉強するときに、最初に買ったチェリー本。いざ学習しようとしたら難しすぎて速攻閉じたのを覚えています。 少したった今、だいぶ慣れ(?)きて、少しずつ理解できるようになってきたのが嬉しくて更にわかるようになりたいと…

ログイン機能の実装(モデルのアソシエーションまで)③

ログイン機能の実装②まではログイン情報を取得するまで進めた。このままではログインしたままになってしまうので、ここからはログアウト機能の実装をしていきたいと思う。 ログアウト機能の実装 ユーザーがログイン状態ではsession[:user_id]にユーザーのID…

ログイン機能の実装(ログイン情報を取得するまで②)

この記事は自分が理解しにくかったログイン機能の仕組みについてアウトプットする記事です。 一つの記事にすると長くなりすぎるのでいくつかの記事に分けて記事を書いてるため、参考にする方はログイン機能の実装(digestを保存するまで①) を先に読んでくださ…

ログイン機能の実装(digestを保存するまで)①

Rsilsチュートリアルや現場Railsでも解説されているログイン機能の実装は理解が追いつかなく、なにがなんだかわからない状態だったので、現場Railsを参考にログイン機能の実装をアウトプットしていきたいと思う。 まずWEBアプリケーションでログイン機能を実…

マイグレーションの様々な機能

まずテーブルを作成する前にカラムを追加できる型の種類を知っておく必要があるのではじめに主に使われるデータ型をまとめてみる。 データ型 データ型 説明 :boolean 真偽値 :integer 符号付き整数 :float 浮動少数点数 :string 文字列(短い文字列に利用する…

現場Railsで唐突に出てきたメソッドの理解

Railsを勉強している人なら誰しもがわかる技術書「現場で使えるRuby on Rails速習実践ガイド(以下、現場Rails)」にて勉強していたらRailsチュートリアルでも見たことのないメソッドが出てきて、 「現場で使われるということはこういうことか...」とか勝手に…

モデルを作ってrails db:migrateしようとしたらエラーに遭遇した件

タイトルのままなんですが、、、 一応開発環境とかも説明しておく 開発環境 Rails 5.2.4 Ruby 2.5.0 マイグレーションファイル モデル名 Task テーブル名 tasks カラム name:string description:text どのようなエラーが出た? rails aborted! StandardError…

Rails国際化(i18n)を簡単に導入する

Railsにはよくあるエラーメッセージがerrorsメソッドで呼び出される。 デフォルトの状態では英語での出力となっているため、日本語に対応させる必要がある。 簡単に日本語対応するには2つのステップで対応させることができる。(他にもやり方は色々あるが、…