いわりょのBlog

IT関連で学んだことを書いていきます。

rails

Rails+PostgreSQL+Docker+AWSで作成したポートフォリオの概要

記事の概要 この記事では、私が作成したポートフォリオの解説をします。コンテンツ投稿、管理、その他の営業に利用できるサービス機能をつけた、お店の個人ホームページです。管理者のみ、コンテンツのCRUD機能やその他の機能が使える仕様にしています。一般…

自作railsアプリをデプロイする 番外編 Cloud Frontを使って画像を高速配信する

ryo10leo.hatenablog.com ryo10leo.hatenablog.com上の記事を通して、以下のようなインフラを作成しました。↓ EC2の中身はこんな感じです。↓Railsアプリケーションから投稿した画像を「S3」のバケットに保存することができました。今回は「Cloud Front」を使…

rails ファビコンの設定

簡単な実装ですが、ホームページやiOSのアイコンをrailsで設定したのでメモ。 実現するもの Chromeのアイコンとか↓スマホのアイコンとかです。↓画像が用意できたらすぐに実装できます。 ブラウザのアイコン application.html.erbに以下の1行を追加するだけ…

rails 基本的なログインシステム Part4 永続的なログインシステム 後編

すること ユーザーの永続的ログインシステムの続き 管理人をユーザーモデルで作成 ログインのcontroller作成やルーティング設定 ログインのビュー作成 ログイン機能作成 ちょっと発展機能を加える ログイン機能を実装したことによって利用できること 5のログ…

rails 基本的なログインシステム Part3 永続的なログイン機能 前編

すること ユーザーのログインシステムの続き 管理人をユーザーモデルで作成 ログインのcontroller作成やルーティング設定 ログインのビュー作成 ログイン機能作成 ちょっと発展機能を加える ログイン機能を実装したことによって利用できること 4まできたので…

rails link_toメソッドの使い方をまとめる 応用あり

link_toメソッドは、HTMLのaタグにです。 いろんな使い方を見てきたのでメモ。 指定したリンクへ移動するための、テキストを表示させる 第一引数は表示させるテキスト、第二引数はリンクを書きます。 <%= link_to “詳細をみる”, “http://www.example.co.jp/p…

CarrierWaveの画像投稿テストがやっとできた fixture作成とアップロードテスト

長い間避けてたCarrierWave画像投稿のテストをついにやってみる。ドキュメントが英語だったので逃げてました笑 条件 rails 5.1.7 carrierwave 1.2.2 CarrierWaveを設定する config/initializers/carrierwave.rb CarrierWave.configure do |config| ・ ・ con…

TOPページでArticleモデルから更新順3件の記事を表示。

実現するもの HPのトップページで最新記事3件がよくあります。 Articleモデルから3件の記事を更新順に抽出して表示していきます。 使っているArticleモデルはこんな感じ。 content、記事の内容についてはHTML文を保存しています。 home.html.erb <% if @top…

お店の営業カレンダー&予約状況を表示するFullCalendar導入 Googleカレンダー同期編

実現するもの HPによくある定休日が色付けされていたり、予約時間が書かれているカレンダーです。 Googleカレンダーと連携しているので、Google側で予定が追加されたり、削除されたりするとHPのカレンダーもすぐにその情報が反映されます。どのように反映さ…

rails 基本的なログインシステム part2

すること ユーザーのログインシステムの続き 管理人をユーザーモデルで作成 ログインのcontroller作成やルーティング設定 ログインのビュー作成 ログイン機能作成 ちょっと発展機能を加える ログイン機能を実装したことによって利用できること 前編で3まで…

Javascriptにrailsの環境変数を渡す

実現すること FullcalenderとGoogleカレンダーの連携の際、GoogleカレンダーAPIのキーなどを設定するのにJavascriptを使います。 そこでAPIのキーをgithubなどで公開しないように、環境変数に隠す方法のメモ。 調べてみたら結構簡単でした。 calender.js $(d…

carrierwaveで画像投稿できるようにする

作ったもの こちらのように商品などの投稿システムには欠かせない「画像投稿機能」を実装していきます。 Gemインストール バージョンも指定しております。 mini_magickと本番環境でのアップロード用のfogも入れています。 Gemfile gem 'carrierwave', '1.2.2…

rails 基本的なログインシステム Part1

作ったもの HPを作成したのですが、管理人だけがページを閲覧しながら記事などの投稿や編集、削除を行えるようにしたかったので、動画のようにログイン後に同じnewsのページに移動すると投稿機能が使えるようになっています。この記事では「ログイン機能」の…

rails フォームでよく使われるエラーメッセージパーシャルなど作成

実現すること フォームに何も入力されてない状態で投稿ボタン押すなどするとアラートが出るやつです。 方法 例としてProductモデルを使います。バリデーションは下記の通り↓ product.rb class Product < ApplicationRecord validates :name, presence: true,…

created_atのフォーマットを変更して記事の日付に使う

実現すること 記事投稿をした場合、投稿日を表示することがあると思います。 ↑記事タイトルの隣の日付ですArticleモデルから新たな記事を作れば、自動的にcreated_atカラムが登録されるのでそこの情報から日付を表示させればできそうしかしでcreated_atカラ…

renderメソッドの使い方(インスタンス変数を渡す場合)

基本形 <%= render partial: 'articles/article', locals: { article: @article } %> _article.html.erbの部分テンプレートにarticleと言う名前で@articleのインスタンスを使用します。 省略形 <%= render 'articles/article', article: @article %> さらに…

htmlタグを削除や表示文字数制限してHPのTOPニュースなどで記事内容の概要を表示する

実現すること HPによくあるTOPニュースで記事内容の概要が書かれている。↓こんな感じで内容が長いと「...」とかなるところ 今回はこれを表示できるようにしたい。 モデルの状態とか対策なしの場合の状況 Articleモデルのcontentカラムにhtml文で記事内容を保…

記事の最初のimgタグを取得してサムネイル画像に使う

HTML文で記事内容を保存している場合、 記事サムネイルを設定したいときの問題 記事投稿システムを作ったときに記事の内容にCkeditorを使用しています。 記事画像はArticleモデルにpictureカラムは作らずに imgタグでHTML文でパスを直接書き込まれています。…

多すぎるHTML文... renderメソッドですっきり表示して管理しやすくする。

HTML、CSSとか書いていると1ページに膨大な量のコードがあると管理が大変になってくる。マークアップしかできなかった当時は、部分的に更新とかできないもんかなーってずっと悩んでいました。Railsを触るようになると、これをまってたと言わんばかりの「パ…