Ruby
Rubyのバージョン管理をする機能であるrbenvですが、ローカル環境のバージョン変更をしようとして $ rbenv global 2.5.1 $ ruby -v ってやったらバージョンが切り替わらない。悲しみ。 調べてみると $ rbenv version system 2.5.1* 2.6.3(set by /Users/あな…
Rubyの出力メソッドのひとつ”puts” よく見ます。 複数の値を出力する時、putsを複数行にわたって書いていませんか?私はそうでした。 array = ["a","b","c"] puts array puts "\n" puts 1+1 => a b c => => 2 もうそんなことはやめにしましょう。 array = ["…
Rubyの配列の概念を疑うようなことがあったので備忘録 普通の配列の記述は array = [ "a", "b", "c" ] のように書きますよね。 ところがです。この大括弧で囲まなくても配列として認識されるみたいなんです。 array = "hoge", "gefu", "mofu" puts array[1] …
Rubyの文字列を作るときのおはなし。みなさんはシングルとダブルどちらのクオーテーションを使っているでしょうか。 私もよくわからなくなるので、ここいらでしっかり意味合いを考えて使い分けできるようになっておこうと思うます。 まずそれぞれの仕様の違…
Rubyのメソッドに「!」や「?」がつくメソッドがある。愉快だなって思っていたけれど、ちゃんときちんとしっかり意味があるので、まとめておく。 ●破壊的メソッド(!) 大元のオブジェクトの値を変更してしまう。メソッドは変数とかに一時的に演算処理を施…
ruby2.3.1を使っていたので2.5.1にしました。それから開発中のディレクトリでbundle installをしたら、 「 rbenv: rails: command not found The `bundle install' command exists in these Ruby versions: 2.3.1 」 と言われてしまいました。 「ウチじゃ"bu…
RailsでDBに変更を加える際に、マイグレーションファイルを作ってカラムの追加なりをする。 しかし、マイグレーションファイルの作成とか編集に失敗したからと言って、手動でファイルを削除すればそれが反映されるわけではない。きちんとターミナルでコマン…
form_forはRailsの入力フォームを作るときにお世話になるアイツ。 なんか自動で色々やってくれるから簡単にDBに保存できるようになるんだけれど、その自動な部分がよくわかってなくて説明を求められた時に困った。そして間違ったことを言ってしまったので、…
rails s が途中でフリーズしてうんともすんとも言わなくなった。これはまさに鳴かないホトトギスも同然! 信長「鳴かぬなら killしてしまえ rails s」 殿の命令が下ったので、さっそくやっていきたいと思います。 ●PIDを調べる rails s が動いているProcess …
ターミナルにこのようなエラー文が表示される 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(…
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 …
ハッシュが複層的に入れ子構造になっていると嫌な感じである。 例えば user_data = [ { user: { profile: { name: 'Taro' } } }, { user: { profile: { name: 'Jiro' } } }, { user: { profile: { name: 'Saburo' } } } ] 配列の中にuserキーのハッシュがあ…
Rubyのオブジェクトにシンボル型オブジェクトがある。「:」をつけるやつだ。 これがキー名の指定とかでよく使う。このシンボル型とは何かを自分のものとするためにまとめる。 オブジェクトには型がある。文字列オブジェクトはString型。数字オブジェクトはI…
Railsにはもともと搭載されているメソッドがある。そのなかにヘルパーメソッドというものがある。 link_to form_tag / form_for / form_with image_tag など、よくお世話になる便利機能である。 ヘルパーメソッドはViewで活用されるものであり、htmlタグの要…
Rubyでメソッド定義していて、self.がつくときがあります。テキトーにやり過ごしていたので、この前「これなんですか?」と質問されてごにょごにょしてしまった。なので調べて備忘録。 self.はクラスメソッドにもつくのですが、今回はそれではなく、セッター…
最近SublimeTextからVScodeにテキストエディタを変えようとしています。 私はRubyとRailsを主に使っているのですが、.erbファイルをVScodeで書いているときに、コメントアウトが使いづらい。 というのも、erbのコメントアウト・ショートカットキーでは<%# ~ …
RubyやRailsでコードを書いていると、eachやwhileなどの繰り返し処理などで array = [1, 2, 3, 4] array.each do |num| p num end みたいなものをよく見る このdoはお約束でつけるものだろうけれど、「正式にはなんていうの?」という質問をこのあいだされて…
RailsでWebサイト的なものを個人で作っていると、コントローラーにはアクション定義して、変数を書いたり、メソッド定義したりするんだけれど、モデルクラスにはあまり書き込まない。 これは素人考えなのだろうけれど、モデルクラス使わなくない? これはき…
Railsのルーティングの設定にはresourcesという主要7アクションのセットがある。でもそれにルーティングを加えたい時がある。そんな時は、collectionかmemberを書く。 routes.rb resources :items do collection do post :confirm post :review end member …
Webアプリケーションの開発では管理画面と公開画面を分けてRoutingを定義して、controllerを作ってアクションを定義していくことがある。そうしないと、例えば同じitems_controller.rbに多くのアクションが定義されて読みづらくなるし、どれが管理画面用アク…
Rubyには日付や日時を呼び出すことのできるクラスが備え付けられている。 ●Dateクラス require 'date' puts date = Date.today => 2019-5-10 puts date.year => 2019 puts date.month => 5 puts date.wday => 5(日曜を0とした曜日の番号) puts date = Dat…
●for文 指定したオブジェクトの範囲だけ繰り返し取得する。配列の中身を取り出すのを繰り返して全て取得する。 for num in 1..5 do puts num end とすれば1〜5が表示される。 ●while文 指定した条件式がtrueである限り処理を繰り返す。条件式の指定がfor …
Numeric#to_s.(:delimited)を使う。 例えば、入力した金額に区切りをつけるメソッドを作る。 module ProductsHelper def converting_to_jpy(price) "#{price.to_s(:delimited, delimiter: ',')}円" end end このように記述し、()内のdelimiter:',' で区切…
プログラミングの勉強中は全然アウトプットできなかった。甘えです。 しかし、なんと今度プログラミングを教える側になれました。通っていたスクールのメンターで、基本的な内容のアドバイスだけなので、高度な知識はまだいらないのですが…。でも教えるから…