Ruby
はじめに Vue.jsでリアルタイム検索機能をつくる方法について 設定方法 <template> <div class="container-fluid"> <div id="search-form" class="form-row p-3" > <div class="form-group col-lg-6 offset-lg-3"> <label for="search">絞り込み</label> </div></div></div></template>
はじめに VeeValidateを使ってバリデーションをつくる方法について VeeValidateをインストール $ yarn add vee-validate VeeValidateの設定ファイルを作成 $ touch app/javascript/plugins/veevalidate.js 上記のファイルをインクルードします。 javascript/…
はじめに JWTを使ってトークンベースの認証機能をつくる方法について JWTをインストール gem 'jwt' bundle install sessionsコントローラの設定 controllers/api/sessions_controller.rb class Api::SessionsController < ApplicationController def create …
はじめに railsアプリにCircleCIを導入してCI部分のRspecとRubocopを自動化してみました。 設定方法 まずはアプリのルートディレクトリに.circleciというディレクトリを作り、その配下にconfig.ymlというファイルを作ります。 そのファイルにcircleciの設定…
はじめに ActiveStorageを使ってAWSのS3に画像を保存する方法について。 ActiveStorageの設定 まずはActiveStorageをインストールします。 $ rails active_storage:install $ rails db:migrate 続いて、該当のモデルと関連付けします。 class Article < Appl…
はじめに railsのcredentials.yml.encを使って環境変数を設定する方法 credentials.yml.enc とは? credentials.yml.encは環境変数をまとめておく場所です。 credentials.yml.enc自体は暗号化されていて、master.keyファイルによって復号化されます。 どちら…
はじめに railsアプリにGoogleFontsの日本語専用のフォントを導入する方法について 設定方法 まずはGoogleFontsの公式サイトに移動します。 googlefonts.github.io すると下記のようなトップページに遷移すると思います。 すこし下にスクロールすると、日本…
はじめに rubyからBingNewsSearchAPIを使って特定のニュース一覧を表示する方法について 前提 ・MicrosoftAzureアカウントにログインしている リソースを作成する まずAzureアカウントの検索窓でBing Search v7と検索してリソースを作成するページにいきます…
はじめに jqueryを使って、添付した画像をプレビューとして表示する方法について。 画像アップロード画面 画像アップロード画面のビューは下記の通りです。 <%= form_with url: image_search_bugs_path, method: :post, local: true do |f| %> <div class="form-group mb-3"> <p style="color: red;">※ファイル形</p></div>…
はじめに はじめて外部APIを使ってみたのでその内容を書きます。 順序 1:画像を送信する。 2:送信された画像をawsのs3を使って、bucketを指定して保存する。 3:rubyからAmazon RekognitonのAPIを叩いて、先程保存した画像を画像認識して、ラベルを取得す…
はじめに bundle install実行時に下記のエラーに遭遇したのでその対処法。 Your bundle is locked to mimemagic (0.3.4), but that version could not be found in any of the sources listed in your Gemfile. If you haven't changed sources, that means …
はじめに トークンを発行してapiの認証機能を実装する方法について。 構成 userモデルに関連づけたApiKeyモデルを作成。 user登録時とログイン時に期限つきのトークンを作成。 (userがすでに有効なトークンを持っている場合はそれを使用) レスポンスヘッダー…
はじめに sorceryを使ってユーザー認証機能のapiを作る準備。 前提 fast_jsonapiというserializerを使用 class UserSerializer include FastJsonapi::ObjectSerializer has_many :articles attributes :name, :email end sorceryをインストール gem 'sorcery…
はじめに railsで複数カラムに対して、検索されたワードが部分一致したレコードのみを取得する検索機能を実装する。 また、複数ワードで検索された場合は、そのワードが全てどこかのカラムに入っているレコードのみを取得する。 構成 機能の構成としては、 …
はじめに Rspecで画像を添付する方法と、その画像が添付されたかどうかを確認する方法について。 画像を添付する Rspecで画像を添付するには、attach_fileというメソッドを使います。 このメソッドは、第一引数にinputタグのname属性を指定し、第二引数に画…
はじめに railsでjQueryを使ってタブメニューを実装した際に、リロードしないとjQueryが動かない現象が起きたのでその対処法について。 原因 原因はrailsにデフォルトでインストールされているturbolinksというgemです。 このgemはjavascriptなどの変換等を…
はじめに 掲示板のようなアプリの一覧画面などで、本文の最初の部分だけを表示させたい時の方法についてご紹介します。 こんな感じにするやつ↓ 掲示板のようなアプリの一覧画面などで、 本文の最初の部分だけを表示させたい時の方法について ご紹介します。…
はじめに railsでtextareaを使って比較的長い文章を入力してもらったとき、 それをビューで表示しようとすると、改行も空白も無視されてすごく読みづらくなってしまったので、 その対処法についてご紹介します。 問題点 例えば、下記のようなtextareaがあっ…
はじめに rails6系にwebpackerを使って、bootstrap5をインストールして使おうとしたときにclassで指定したデザインが反映されなかったので、 サーバーのログを確認してみたところ、下記のようなエラーが出ていました。 Module not found: Error: Can't resol…
はじめに Rails6系からは「yarn + webpacker」でBootstrapを導入するのが標準のようなので、こちらの方法で導入していいきます。 設定方法 まずはwebpackerをインストールします。 $ rails webpacker:install ... Webpacker successfully installed 続いて、…
はじめに PunditというGemを使ってユーザーの権限を管理する方法について。 前提 ユーザーの種類は、管理者(admin)、編集者(editor)、ライター(writer)の3種類があります。 そして、記事(article)を作成、更新、削除する際には、管理者か編集者でないとでき…
はじめに form objectを使って、一度に複数のActiveRecordを保存する方法について form objectとは form objectとはrailsのデザインパターンの一つで、もともとはバリデーションなどをformにまとめて、 複数のモデルから実行できるようにすることでコードを…
はじめに wheneverというGemを使ってcronをセットする方法について 設定方法 まずwheneverというGemをインストールします。 gem 'whenever', require: false $ bundle install 続いて、下記コマンドで設定ファイルを作成します。 $ wheneverize . するとconf…
はじめに railsアプリにgretelというGemを使ってパンくずリストを作成する方法について 設定方法 まずはGemをインストールします。 gem 'gretel' $ bundle install 続いてgretelをインストールします。 $ rails g gretel:install 上記のコマンドを実行すると…
はじめに sorceryのreset_passwordモジュールを使って、パスワードリセット機能を実装します。 設定方法 まずは、sorceryのパスワードリセットモジュールを導入します。 $ rails g sorcery:install reset_password --only-submodules パスワードリセットに関…
はじめに railsアプリにransackを導入して検索機能を実装する方法について 設定方法 まずはransackというGemをインストールします。 gem 'ransack' 今回は掲示板一覧ページに、タイトルと本文を部分一致検索できるような検索機能を作ります。 コントローラを…
はじめに 掲示板にページネーションを実装する方法について 設定方法 まずはkaminariというGemをインストールします。 gem 'kaminari' $ bundle install 下記のコマンドで`kaminari`の設定ファイルを生成します。 $ rails g kaminari:config デフォルトでは2…
はじめに 掲示板の編集・削除機能について 掲示板の編集・削除機能のポイント edit,update,destroyアクションでは、boardを取得するときには下記のようにcurrent_userを使う。 @board = current_user.boards.find(params[:id]) current_userと関連を使うこと…
はじめに railsアプリでcontent_forを使ってタイトルを動的に出力する方法について タイトルを動的に出力する まず、ヘルパーに下記のメソッドを定義します。 module ApplicationHelper def pages_title(page_title = '') base_title = 'BOARD APP' page_tit…
はじめに railsでルーティングを作成する時、ネストしたあと簡略化するためにshallowオプションをつける 設定方法 postモデルとcommentモデルが1対多数の関係にあり、 わかりやすくするためにルーティングをネストする場合。 resources :board, only: %i[ind…