Ruby on Rails

バックエンド

【Rails】ラジオボタンのヘルパーradio_button、collection_radio_buttons、radio_button_tag

Railsでラジオボタンを作るとき、似たようなヘルパーがたくさんあってどれが最適かいつもわからなくなってしまうため、それぞれの特徴と用途をまとめます。 ラジオボタンのヘルパーは3つ radio_buttoncollection...
バックエンド

【rspec】FactoryBotのbelongs_to、has_many実装方法

サンプルコードとして、ProjectモデルとUserモデルを例にします。モデルの実装は以下です。 class Project < ApplicationRecord has_many :users end class ...
WEBノウハウ

【CircleCI×Rails】ローカルでrspec実行しながらエラーを潰す過程

年代物のRails案件(6年目!)に初めてrspecを導入してCI回すという過酷なプロジェクトの過程です。 現状とゴール 6年目のRails案件だけど活発に機能追加していてコードが複雑化、肥大化している怖くてRailsやR...
バックエンド

【Ruby on Rails】確認画面を作る方法!hiddenか?セッションか?

たとえば商品の購入や、お店の予約など、入力→確認→完了という遷移をさせたい場面は多いと思います。確認画面には「入力画面に戻る」と「送信する」の2つの遷移が必要ですが、実現するためには入力値を送信まで保存しておかなければならないという点が難...
バックエンド

Railsを起動するとLibrary not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (LoadError)

bundle installは通るのですが、Railsの起動が上記のエラーでできなくなりました。mysql2のgemがopenssl1.0.0を使用するようですが、インストールされているのはopenssl1.1です。opensslのバージ...
バックエンド

【Rails】bundle installするとlibv8というgemでコケる

Railsプロジェクトでbundle installすると以下のエラーになりました。どうやらtherubyracerというgemが依存しているlibv8でエラーが起きているようです。 Fetching libv8 3.16.14.1...
バックエンド

Railsを起動すると`const_missing’: library not found for class Digest::SHA1のエラー

タイトルのエラーにより突然Railsが起動できなくなりました。調べると、「Rubyが壊れているから再インストールする」という解決法しかヒットしない…。なんか嫌だなぁと思いつつ、これしか解決法がないので再インストールしました。 rbe...
バックエンド

【Ruby on Rails】検索画面の入力チェックをActive Modelで実装する

RailsのActiveModelのバリデーションってすごく便利ですが、DBに紐付かないモデルでもバリデーションが可能です。当記事では、検索画面でURLパラメータのバリデーションを行い、400 bat request画面を表示する方法を紹...
フロントエンド

parsley.jsで独自バリデーションを作る

フォームのフロントの入力チェックに欠かせないのがparsley.jsです。ビルドインのバリデーションだけだと基本的なものしかないので、独自バリデーションの作り方を記載しています。 バージョン parsley.js 2.3.13...
バックエンド

【Ruby on Rails】javaScriptのclickイベントが発火しないのはturbolinksのせいだった

「商品カートに追加する」ボタンがときどき無反応になる謎現象が起きました。発生条件は、キャッシュをクリアしたあと問題のページに遷移した直後に発生。2回目以降のアクセス時には発生しない。何やらコンソールエラーも出ていました。 Uncau...
バックエンド

【Ruby】[__NSPlaceholderDictionary initialize]〜エラー

Railsの案件の開発中にこちらのエラーが発生。 objc: + may have been in progress in another thread when fork() was called. 現象としては画像のアップ...
タイトルとURLをコピーしました