プログラミング学習 備忘録

Railsを学習していく上での技術メモ。学んだことや解決したエラーなどを記録していきます。

2020-10-01から1ヶ月間の記事一覧

掲示板の編集、削除機能の実装

今回は、掲示板に編集と削除機能を実装してみた。 特に滞りなく実装できたのだが、その際にいくつかまた新たに学んだことがあるのでまとめてみました。 ・掲示板取得の際のコード edit, update,destroyアクションでは、掲示板を取得する段階でバリデーション…

掲示板のコメント機能を実装してみた

今回は、掲示板にコメントをする機能を実装してみた。 railsチュートリアルの総復習といった感じで、色々なエラーにぶち当たるも何とか実装終了。 学んだことを記します。 ・URLをネストさせるためには、routingを下のように記載する resources :boards do r…

掲示板の画像アップロード機能を実装してみた。

今回は、carrierwaveというgemを使用して掲示板のアップロード機能を実装した。 この実装を通して学んだこと、忘れそうなことをまとめてみました。 ・carrierwaveの特徴 carrierwaveは、railsで画像をアップロードする際によく使われるgemの1つである。 大…

掲示板実装③ 関連付けモデルのcreateアクション

実装時の最初のコード def create @board = Board.new(board_params) @board.user_id = current_user.id debugger if @board.save flash[:success] = t('defaults.message.new_board_was_created') redirect_to boards_path . . . private def board_params …

掲示板実装② 学んだこと一覧

今回の実装を通して新たに学んだ知識が色々あった。 その中でも、実装時にエラーが出て詰まってしまったことや、特に印象に残った知識を箇条書きにしてまとめようと思う。 ・belongs_to :userで、UserモデルとBoardモデルを関連付けていれば、 validates :us…

掲示板実装① N+1問題を解決する

掲示板実装時、N+1問題を解決する必要が生じたので、解決方法をまとめました。 boards_controller内の通常のコード def index @boards = Board.all end このような記述でも、indexビューは正常に表示されるが、サーバーログを見てみると何十回にも渡って読み…

国際化ツール i18nを導入してみた

i18nは、railsの中に自動で組み込まれている国際化ツール(翻訳ツール)です。 今回は、ログインフォームと新規登録フォームに導入してみました。 ・初期設定を行う Config/application.rbの中で以下の記述をする。 # デフォルトの言語設定 config.i18n.defa…

Sorceryを使ったログイン機能実装時のエラー②

1、まずマイグレーションから見直す schema.rb ActiveRecord::Schema.define(version: 2020_10_11_033753) do create_table "users", force: :cascade do |t| t.string "email", null: false t.string "crypted_password" t.string "salt" t.datetime "crea…

Sorceryを使ったログイン機能実装時のエラー①

Sorceryを使ったログイン機能の実装を試みたところ、エラーでかなりハマったので備忘録として残そうと思う。 エラー発生時のコード user_sessions/new.html.erb <div class="container"> <div class="row"> <div class=" col-md-10 offset-md-1 col-lg-8 offset-lg-2"> <%= form_with(scope: :session, url: login_path, local: true) do |f| %> <%= f.label :em</div></div></div>…

環境構築時にインストールしたAtomをカスタマイズしてみた

ローカル環境構築時にインストールしたテキストエディタのAtomだが、デフォルトのままではターミナルが別窓になっており切り替えが少し面倒。 そこで、platformio-ide-terminalというモジュールをインストールし両方を一画面に表示できるようにしてみた。 デ…

Macbookにローカル環境を構築してみた

プログラミング学習を始めてから今日でちょうど2ヶ月。今まではCloud9を使って開発を行っていたのだが、Progateの環境構築方法を参考に今日やっと自分のMacbookにローカル環境を構築することができた。その際いくつかエラーを吐いたのでその記録を残してお…