Ruby on Rails
Docker 環境であっても コンテナが気軽に増設できるなら guard-rspec を立ち上げてもいい 今回は ShellScript で何とかするパターン ゴール docker compose up で立ち上げたコンテナ内で、rspec を実行したい ローカル環境で *_spec.rb ファイルを更新したら…
A. まとめるとこうなる gist.github.com
Rails 使ってるのに Node.js とか Python とか云われても わからん... 環境 概要・状況 原因 解決 ログ全文 ログの見方 Links 環境 MacOS Big Sur Ver.11.1 anyenv + pyenv 概要・状況 Rais プロジェクトで yarn install したら node-sass をインストールす…
※ GitHub Issue に調査結果を書いた のでこちらにも転載 Rails の複数バージョンがインストールされている環境で、どのようにバージョンが切り替わるのか、調査 TL;DR プロジェクトディレクトリの内外で、Rails に訊ねたバージョンが切り替わる 状況説明 & …
A. ドキュメント ActionController::Parameters#permit を参照して、サンプルコードを動かす require 'active_support/core_ext' require 'action_controller/metal/strong_parameters' params = ActionController::Parameters.new({ person: { name: "Franc…
「Ruby on Rails - Rails 天気予報取得 表示|teratail」で、質問者によって書かれた JavaScript との連携方法を調べてみた リポジトリ 書いたコード 大まかな処理内容 Links リポジトリ GitHub にリポジトリを作った : gouf/open_weather_map_demo - GitHub…
A. ActiveSupport::MessageEncryptor を利用する 暗号化・復号化例 Links 暗号化・復号化例 # # ActiveSupport::MessageEncryptor#new で扱える key の長さが # 決まっているのでその定義を呼び出して使う # # salt の生成 # # NOTE: このままだと実行時に再…
「【Railsアプリ開発講座】Trello風ToDoタスク管理アプリを作成しよう!」に参加した カリキュラムに沿って完成させて、その次の日に機能追加した話 完成したもの アプリの動作 (リストとカード) 完成品の改変 コードの公開について Drag & Drop API <form/> の追加</form/>…
(外部API を利用しているコードの) テストコード... の書き方がわからなかったので Pull Request として作成するのはパス でも手を動かしたので記録しておく Q&A サイトでのやり取り (Ruby - RailsアプリをHerokuへデプロイ後、ぐるなびAPIが検索結果を返さ…
まとめ include? と in? Links まとめ 「だれがどうしたのか」「どうしたのはだれか」みたいな文の主従の順序・逆転は些細なものかもしれない それでも、コードも文章の1つ、読み易しいコードを書いていきたい include? と in? たとえば、普段であれば次のよ…
A. FIXTURES_DIR 環境変数を指定する (Rails 4系で確認) rake db:fixtures:load FIXTURES=users FIXTURES_DIR=../../spec/fixtures rake タスクだと固定で test/fixtures を見に行くので、../../ 指定で見に行くディレクトリを遡らせる dotenv を使っている…
A. scope と if と all を使う (自回答の転記) teratail.com class Board < ActiveRecord::Base scope :mypage_search, ->(user_id, search_params = {}) do where(user_id: user_id) .find_by_board_title(search_params[:title]) .find_by_update_date(sea…
A. rails db:migrate コマンドを実行する どこで...? → .travis.yml の before_script のタイミング language: ruby rvm: - 2.3.4 - 2.5.0 before_script: - RAILS_ENV=test bundle e rails db:migrate Travis CI のビルドの各ステップで実行されるタイミン…
「なにか新しいことを始めるときは最小限のコードを書く」というのをやりたかった Rails の ActionCable によるメッセージ送信を実装してみた: github.com ここから、「メッセージのデータに部屋名を含めて該当する部屋のみに送信する」だとか「テキスト入…
自リポジトリにコミットした README.md の通り gem を追加して rails g rack_profiler:install しているだけのコード github.com 開発環境でのページに、表示されるまでの速度が出てくるようになった これで 常に処理速度を意識したマゾい開発ができるように…
A. RailsDiff にアクセスして差分の表示をさせる eg. 5.1.6 → 5.2.0 の差分を知りたい: http://railsdiff.org/5.1.6/5.2.0 Link RailsDiff
アプリケーション テンプレート機能を利用したコードを追記 自リポジトリにコミットした github.com これでアプリケーション初期化時に bullet が有効になって、今後 N+1 問題が発生したときに警告してくれる まとめ アプリケーション テンプレート? Bullet…
自回答の転記 teratail.com やりたいこと テストコードと実装 テストコード 実装 Links
「趣味プロジェクトで実装を書いたよ」というお話 github.com 説明しないこと 状況 アイディア 実装 Heroku Scheduler Links
前提 Rails アプリケーションを作っていて、Heroku にデプロイしている Review Apps 機能を利用した Pull Request ごとに新しく環境を立ち上げる仕組みを取り入れている 問題 Pull Request を受けて 新規に立ち上げられた環境にアクセスしてみると「Somethin…
gouf.hatenablog.com Raty を使ったレビュー機能(星マークの表示)の導入方法について調べたので、実際に作ってみた github.com Raty によるレーティングの変更 初期化時のレーティング値取得 Raty によるレーティングの変更 Raty は初期化時に target オプシ…
teratail.com 質問に出てきた Raty が気になったので、 Rails に統合する方法を調べてみた これに続く: gouf.hatenablog.com 概要 前提 手順 JS ライブラリの追加 JS の読み込み CSS の読み込み 使ってみる フォントではなく画像を表示させたい場合 Links
teratail.com qiita.com 質問で見掛けたので、参照元のコードをヘルパーメソッドに書き換えてみた まとめ コード Link まとめ これに、インスタンス群(= 配列)を受け付けられるように引数を増やしたりすれば、もう少しくらいはカスタマイズしたり機能が増や…
リポジトリ作った(11 コミット) User データの updated_at を、0から6の数値化した曜日に変換して検索できるようにする github.com まとめ データベースが用意してくれている日付フォーマット関数(日時を曜日に変換など)を利用する 日付フォーマット関数を使…
書いたところで 誰も しあわせにしないコード まとめ コードの書き換え Links まとめ (この例では有効ではなかったけれど) if...elsif... が続くコードは、case...when やループ処理に変換できないか検討してみるといいかもしれない 下の質問に書かれてたコ…
A. 基本的にはナシ とくに、過去のマイグレーション ファイルは編集してはならない
リポジトリつくった(全体で7コミット) github.com 詳細はコミットログ参照のこと <textarea/> に JavaScript での初期化を仕掛けて、いい感じのエディタを召喚できる キャプチャ画像はプラグインとか何も入れてないスッピンの状態 30 に届きそうな数のプラグインで拡張</textarea/>…
Rails開発環境の構築(複数バージョン共存可能)(Homebrew編) - Qiita Ruby on Rails 4 - rails sでローカルサーバーを立ち上げたいのですが、以下のエラーが出てしまいます。(101118)|teratail バージョンごとに新規作成するコマンドがあったらベンリか…
ネタ。こういうコードを書き始める前に ransack gem の使い方を学習したほうがいいのかもしれない ビュー: / views/articles/index.html.slim = form_tag 'articles/search' = text_field_tag :q, 'Lorem Ipsum' = submit_tag 'Search' コントローラ: class …