めもめも のーと

ハマったこととか、覚えたこととか

Ruby on Rails

Rails7 (zeitwerk)でgRPC (Protocol Buffers)を使ったらハマった

概要 Amazon.co.jp: スターティングgRPC 技術の泉シリーズ (技術の泉シリーズ(NextPublishing)) eBook : 武上 将樹: Kindleストア こちらの書籍にあるGo(サーバ) × Rails(クライアント)のサンプルを写経していた際、zeitwerkの仕様にはまってエラーが…

久しぶりにRailsのbundle installではまった件

windows10のホスト上にvagrantでCentOSを載せている環境。 bundle installを実行したら以下のエラー。 $ bundle install --path=vendor/bundle ~略~ Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /vagrant/pri…

Railsのrequestで取得できる情報の具体例をまとめた

Railsのリクエスト情報取得のメソッドがたくさんあってよく分からなかったのでまとめました。 例 request.path # /book/231/reg/top ----- request.fullpath # /book/231/reg/top?uid=d4f4efb0-a2dc&type=2 request.original_fullpath # /book/231/reg/top?u…

RailsではInteger型のカラムに0始まりの値は登録できない話

これだけ書くと至極当然の話なのだが、ハマったので自戒を込めてメモ。 DB(MySQL)でinteger型のカラムがあり、そのカラムにデータを登録する際に検証ルールを付けたかったが、何故か入力値がvalidationでうまく処理されない。 例) 入力値: 00001 検証時: 1に…

collection_check_boxesで登録済みの値にチェックをつけて表示する方法を調べた

Railsで多対多のリレーションのモデルをチェックボックスで表現する際にcollection_check_boxes と言うViewヘルパー関数を使うと便利。 しかし編集時など、登録した値は当然チェックがついた状態で表示されないと困るが、どういう仕組みかの説明が見当たらな…

Rspecで undefined method `validate_uniqueness_of' が出たので対応した件

とても久しぶりにRailsでRspecを思い出しながら書いていたら、 NoMethodError: undefined method `validate_uniqueness_of' for ... が出て困って対応したときのメモ。 結論から書くと、Railsでよくあるバージョンの問題でした。 環境 ※抜粋 rails (5.0.0.1)…

Rails4.1にてBundler could not find compatible versions for gem "sprockets" が出る件

Rails4.1.8(2014年11月24日現在で安定版最新)のプロジェクトを作る際に下記のエラーが出たのでメモ。 バージョン ruby 2.1.5p273 rails 4.1.8 Gemfile source 'https://rubygems.org' gem 'rails', '~>4.1.8' Gemfileがあるディレクトリに移動して、rails …

Rspecで "@controller is nil が出た件

タイトルのように、Rspec2でテストを書いて実行したら、以下のようなエラーが出ました。 @controller is nil: make sure you set it in your test's setup method. 結論から言うと、ここが間違ってました。 誤 describe "HogeController" do 正 describe Hog…

rbenvでrubyのバージョンを上げた件

ruby2.1系が(とっくに)安定版で出ていたのに気づいたので、上げてみました。 ちなみに気づかなかったのは、rbenv install --list で出てこなかったため。 ※情報収集はこまめにしよう。。 手順 RailsアプリのRootへ移動 $ cd rails_app rubyのバージョンを…

[rails]flashとflash.nowの違いの件

タイトルのままですが、ここで触れたので忘れないようにメモ。 Ruby on Rails チュートリアル:実例を使って Rails を学ぼう たとえば下記のような場合にflashを使うと、エラーが出たページから別ページをrenderし、その後別のページへredirectなどで遷移し…

therubyracerとlibv8のバージョン組み合わせが悪くてエラーになった件

ruby2.0.0, rails4.1, therubyracer, libv8

Ruby on Railsのboolean型のカラムを1 / 0で更新すると、true / falseになる件

注意:実行結果を書いただけで詳しく調査していないので、参考程度で。。 railsでboolean型のカラムに対して、1 / 0 でパラメータを渡して更新したら、true / false になって登録されました。 これって、こういうものなのでしょうか。。 環境 Ruby 1.9.3p448…

RailsでページによってSingOutのURLが変わってしまった件

Ruby on Rails はviewの共通テンプレートがあり、そこにsign in / out のリンクをつけることが多いと思います。 ただしroutingの設定によっては思わぬURLが生成されることもあるので注意が必要です。 【環境】 ruby1.8.7 rails 2.3.8 次のようなリンクを${RA…

RailsでDBのカラムをリネームする方法

直接MySQLコマンドで直してもよかったんですが、今回は勉強のためmigrationで実施しました。 やり方 rails g migration XXX でマイグレーションファイルを生成 生成したファイルを修正。 migration 実行 例 user_id を from_user_id に変更します。 実行前 m…