最近の記事

RSpecの環境構築と基本

1. 環境構築・RSpecの環境構築(:development, :test以下に記述し、bundle install) gem 'rspec-rails'gem 'factory_bot_rails'  'factroy_bot_rails'は、テストデータ作成を支援してくれるもの。これもgemに記述する。 ・RSpecに必要なディレクトリを作成するためにコマンドを実行 rails g rspec:install 2. 基本形describe [仕様を記述する対象

    • sorceryによるログイン機能

      gemを用いて簡単にログイン機能が実装できるので、まとめてみた。 ・gemに記述(bundle install) gem 'sorcery' ・ターミナルでsoceryをインストール rails generate sorcery:install このコマンドによって以下のファイルが生成される。 app/models/user.rb db/migrate/XXXXXXXXX_sorcery_core.rb ・db/migrate/XXXXXXXXX_sorcery_

      • Ransackによる検索機能の追加

         ransackによる検索機能を追加して、タスク管理アプリの曖昧検索や検索フォームを追加した。 ・gemに記述 (bundle install) gem 'ransack' ・app/controller/tasks_controllerを修正 def index @q = current_user.tasks.ransack(params[:q]) @tasks = @q.result(distinct: true).page(params[:page]).

        • タイムゾーンを日本時間にする

           railsはデフォルトで、UTC(協定世界時)で表示されているため今回は、日本時間で表示できるようにする。 ・ターミナル画面でUTCであることを確認(rails c) > Time.zone  このコマンドで、デフォルトのUTCが表示されるはず。次に以下のコマンドを実行する。 > Time.zone.now=> Thu, 21 Jun 2018 14:00 UTC +00:00  今日の日付、曜日、時間が表示される。しかし、これでは見にくいため、日本時間に変更する

        RSpecの環境構築と基本

          foreign_key: true(外部キー)

           主キーと外部キーの違いと、関連付けのさいにforeign_key: trueをマイグレーションファイルに記述する意義について。 ・主キーと外部キー  例としてTwitterは、一般的にUserが複数いて、それぞれのUserが複数のTweetをしている。ここで、Userテーブル(親)とTweetテーブル(子)があると仮定すると、それぞれのテーブルには、User及びTweetを識別するidが各々に存在していて、それぞれを識別するidのことを主キーという。 例) userテ

          foreign_key: true(外部キー)

          rails 画像アップロード機能の追加

           今回は、画像を投稿するに当たって、carrier_waveとmini_magickを利用した。 ・gemファイルに記述し、bundle installする。gem 'carrierwave' ・アップローダークラスを作成する。rails g uploader アップローダー名rails g uploader board_image # 今回は掲示板作成時に、画像を表示させたいためboard_imageをつけた  ターミナル上で打った後、app/uploaders/bo

          rails 画像アップロード機能の追加

          Bootstrapの導入

          ・gemファイルに記述し、bundle install gem 'bootstrap'gem 'jquery-rails' ~> 'bootstrapはjqueryに依存するため、このgemも記述' ・allication.cssをapplication.scssに変更する ・application.scssにインポートする @import 'bootstrap'; ・javascript/application.jsに追記する //= require jquer

          Bootstrapの導入

          SQLite3::SQLException: table "users" already exists エラー

          ・なぜ発生したか、経緯  sorceryを利用して、ログイン機能を追加しようとした。'rails g sorcery:install'を使用した後に、'rails db:migrate' を実行し、userテーブルを作成した。 その後、必要なカラムがないことに気づいたため、'rails destroy modle user'を実行し、必要なカラムを入れ、db:migrateし直す。そこで Caused by:SQLite3::SQLException: table "u

          SQLite3::SQLException: table "users" already exists エラー

          ストロングパラメーター

          1. ストロングパラメーターとは  パラメータを受け取る際に、指定したキーを持つパラメータしか受けとれない様に制限できるもの。また、セキュリティー向上のために記述するもので、Web上から受けつけたパラメータが、本当に安全なデータかどうかを検証した上で、取得するための仕組み。 2. 書き方 def comment_params params.require(:キー(モデル名).permit(:カラム名1,:カラム名2,・・・) .merge(カラム名: 入力データ

          ストロングパラメーター

          rails エラーメッセージを表示する

          1. app/views/shared/_error_messages.html.erb以下に以下を記述する。 <% if object.errors.any? %> <div id="error_messages" class="alert alert-danger"> <ul class="mb-0"> <% object.errors.full_messages.each do |msg| %> <li><%= msg %></li>

          rails エラーメッセージを表示する

          rails i18nによる日本語化

          ・gemファイルに記述し、ターミナルで bundle install gem 'rails-i18n' ・config/application.rbに以下を記述する config.i18n.default_locale = :ja( デフォルトのlocaleを日本語(:ja)にする )config.i18n.load_path += Dir[Rails.root.join('config/locales/**/*.{rb,yml}').to_s]( i18nの設定ファイ

          rails i18nによる日本語化