2019-06-01から1ヶ月間の記事一覧

Dateクラスの閏年

Rubyで閏年計算をするコードを作った際、Dateクラスを使ったらうまくいかなかった話。 Rubyでは日にちを計算するのに便利な機能をまとめたDateクラスが備わっています。コードのはじめに require 'date' と呼び出すと、クラス内であらかじめ定義されているメ…

鳴かぬなら killしてしまおう rails s

rails s が途中でフリーズしてうんともすんとも言わなくなった。これはまさに鳴かないホトトギスも同然! 信長「鳴かぬなら killしてしまえ rails s」 殿の命令が下ったので、さっそくやっていきたいと思います。 ●PIDを調べる rails s が動いているProcess …

rbenvのPATHがおかしくてターミナルが…

ターミナルにこのようなエラー文が表示される export PATH="/Users/xxxx/.rbenv/shims:${PATH}" export PATH="$HOME/.rbenv/bin:$PATH" source '/usr/local/Cellar/rbenv/1.1.1/libexec/../completions/rbenv.bash' command rbenv rehash 2>/dev/null rbenv(…

.to_i メソッドは0に帰す

Rubyのプログラムを作っていて、gets.to_i を使ってみて見つけたこと。 while true do puts "[0]レビューを書く" puts "[1]レビューを読む" puts "[2]アプリを終了する" input = gets.to_i if input == 0 then posts = post_review(posts) elsif input == 1 …

migrationファイルがROLL BACKできない!?

状況のスクショとかできなかったのでメモだけ残す。 <発端> DBのテーブルにカラムを追加しようとしてAddColumnHogeのマグレーションファイルを作成して、add_column :hoges, :hogehoge :string とか3つのカラム情報を書き込んだ。そして「 $ bundle exec …

入れ子構造なハッシュ

ハッシュが複層的に入れ子構造になっていると嫌な感じである。 例えば user_data = [ { user: { profile: { name: 'Taro' } } }, { user: { profile: { name: 'Jiro' } } }, { user: { profile: { name: 'Saburo' } } } ] 配列の中にuserキーのハッシュがあ…

テキストエディタのタブの入れ替えウザい

テキストエディタを使っていてモヤモヤする現象のひとつ。 「新たにファイル開いたら、さっきまで見てたタブのファイルと入れ替わった。さっきのやつと見比べたかったのに!」 これ他のエディタでもなるんですが、「PreViewモード」というやつで、むやみにタ…

Symbol型とは

Rubyのオブジェクトにシンボル型オブジェクトがある。「:」をつけるやつだ。 これがキー名の指定とかでよく使う。このシンボル型とは何かを自分のものとするためにまとめる。 オブジェクトには型がある。文字列オブジェクトはString型。数字オブジェクトはI…

ヘルパーメソッドをつくろう

Railsにはもともと搭載されているメソッドがある。そのなかにヘルパーメソッドというものがある。 link_to form_tag / form_for / form_with image_tag など、よくお世話になる便利機能である。 ヘルパーメソッドはViewで活用されるものであり、htmlタグの要…

ゲッター・セッター のself

Rubyでメソッド定義していて、self.がつくときがあります。テキトーにやり過ごしていたので、この前「これなんですか?」と質問されてごにょごにょしてしまった。なので調べて備忘録。 self.はクラスメソッドにもつくのですが、今回はそれではなく、セッター…

MySQLがbundle installできなくて困る

最近のMacMojavesがMySQLと相性悪い??困る。 AppleはOpenSSLを使わなくなると?だからその分の変更手続きが必要だと? Railsのアプリケーションを立ち上げようとして、bundle innstallしたらこんなエラーがでる。 $ bundle install (略) Gem::Ext::BuildE…

VScode のコメントアウト(erb)改造したい

最近SublimeTextからVScodeにテキストエディタを変えようとしています。 私はRubyとRailsを主に使っているのですが、.erbファイルをVScodeで書いているときに、コメントアウトが使いづらい。 というのも、erbのコメントアウト・ショートカットキーでは<%# ~ …