前回の記事のテスト編 ponpoko-nalplus.hatenablog.comCapybaraとChromedriverを使ったrspecを書いていく RSpecをインストール $ bundle exec rails generate rspec:install RAILS_ROOT/spec/rails_helper.rb にCapybaraの設定とChromedriverの設定を追記す…
Rails 6 がリリースされてWebpackerが標準搭載されるようになった。 個人的にSprocketsとWebpackerってどっちかでよくないかと思ったので、Sprocketsは使わずWebpackerでassets周りを全部管理しようかと思った でもこのWebpackerはフロントエンドのエンジニ…
サーバー側のRubyをrbenvを使ってバージョンを上げて再デプロイしたら、古いほうのRubyをずっと見てしまう現象が発生した。ダウンタイムをなくすように RAILS_ROOT/config/unicorn/production.rbに設定していたのを思い出し、capのログの中身を見てみたら以…
例えばログインしたユーザーのニックネーム等に不備があった場合まず編集画面にリダイレクトさせたいという処理 application_controller.rb class ApplicationController < ActionController::Base before_action :authenticate_user! before_action :invali…
これだとダメになってた class UsersController < ApplicationController def show render nothing: true end end 5.1だとどちらかで書けるようになっている class UsersController < ApplicationController def show render body: nil end end class UsersC…
model の中で scope を使うときに今の時間を比較してレコードをとってきたい場合に時間が固まってしまうことがある developmentモードでは起こらずproductionモードのみで起こる。 今日登録したユーザーを表示したいとなった場合 class User < ActiveRecord:…
accepts_nested_attributes_forでネストして、フォームから送られてくるパラメータ上で値が重複してもDBに保存されていな限りvalidationができなかった 下記のような状態だと不可能 class User < ActiveRecord::Base has_many :emails accepts_nested_attrib…
iPhoneだと別ページへ遷移するときとかに処理を入れたい場合使うunloadが無視されるためはまった。 pagehideを使うと別ページへ遷移する前に処理を行ってくれようになった <script type="text/javascript"><!-- $(window).bind('pagehide',function(){ //ここに処理を入れる }); --></script> これで…
サムネイルと通常表示したい画像を別ディレクトリに保存したい場合にはまった。 versionの中にstore_dirを定義することで解決。 class ImageUploader < CarrierWave::Uploader::Base storage :file def store_dir "uploads/#{model.class.to_s.underscore}/#…