Tatehitoの日記

いろいろ書きます。Webエンジニアをしています。

Rails

【Rails】simple_formでモデルに存在しないフィールドを扱う方法

modelにattr_accessorを定義することで、モデルにフィールドとして存在しなくてもsimple_formで扱えるようになります。 Model # 'hoge'はmodelにフィールドとして存在しない attr_accessor :hoge View Viewはこちら。チェックボックスを定義する例です。 <%=…

【Rails】チームメンバー管理システムをつくった

実務でゼロからDB設計をしたことがないので、「DB設計筋」をつけるためのトレーニングをしている。具体的に言うと、映画館の発券システムやラーメン屋の注文システムなど、世の中の業務をネタにDB設計を行い、Railsで実装して正しく設計できているかを検証す…

【Rails】『omniauth-twitter』でログイン機能を実装する手順

いちいち思い出すのが面倒なので手順を記録しておく。なお『devise』と連携して実装する場合はこの通りでは無い。 確認環境 Rails 6.0.0 Ruby 2.6.3 omniauth 1.9.0 omniauth-twitter 1.4.0 1.TwitterAPIの登録 developer.twitter.com CallBack_URLの設定…

【Rails】開発環境をSQLite、本番環境をPostgreSQLで構築すると後々面倒なことになるかも?

RailsのデフォルトDBはSQLiteです。一方、アプリケーションを簡単にデプロイできることで人気のPaaSであるHerokuのデフォルトDBはPostgreSQLです。 Railsでは環境ごとに異なるDBを利用している場合でも、基本的に問題なく動作します。かの有名なRailsチュー…

【Rails】migrationファイルの生成・記述方法のまとめ

Railsにおけるmigrationを使ったテーブル定義の変更方法は、Qiitaを筆頭に、ちょっとググればすぐ出てきます。大変ありがたいのですが、一向にmigrationファイルの書き方を覚えられないし、毎回ググるのも面倒になってきたので、「自分のブログを見れば全部…

「Rails6でSemanticUIのJavaScriptを読み込む方法(ドロップダウン・アコーディオン等を使いたい!)」という記事をQiitaに投稿しました

Semantic UIはシンプルで洗練されたデザインが魅力的なCSSフレームワークです。以前はBootstrapを利用していましたが、個人的にデザインが好みなのと、部品の種類が多いので、いま開発しているアプリではSemantic UIを利用しています。 さて、Railsではseman…

【Rails】簡単に認証機能がつくれるgem『devise』を試す

はじめに つぎにつくる予定のWebアプリでは、認証(ログイン)機能を実装しようと思っています。そこで認証機能を実装するためのgemで有名な『devise』の最低限の動作確認をしてみました。 環境は以下の通りです Ruby 2.6.3 Rails 6.0.0 devise 4.7.1 (現時…

Qiitaに「Railsアプリケーションで初期データをセットアップする方法あれこれ」という記事を書きました

先日公開した「ポケモンしりとり」では、ポケモンの名前の情報をマスタデータとしてDBに保持させているのですが、現在ポケモンの数は809種類で、とても手作業でデータロードする気は起きません。 ということで、ポケモンの情報が記述されているJSONファイル…

感想『Everyday Rails - RSpecによるRailsテスト入門』

読み終わってから随分時間が経ってしまいましたが、『Everyday Rails - RSpecによるRailsテスト入門』を読みました。 本書はRubyのテスティングフレームワークである「RSpec」の解説書です。 販売形態は電子書籍のみですが、RubyやRailsのバージョンアップに…

【Rails】bundle install で「--path vendor/bundle」するかしないか問題

今日、こちらのQiita記事を読みました。 qiita.com --path vendor/bundle は、gem のインストール先をプロジェクト固有のローカルに指定するbundle installコマンドのオプションです。 読んだQiita記事は --path vendor/bundleのオプションは、付けたい人が…