&(アンパサンド)に対してシンボルオブジェクトを渡している。(&はブロックをProcオブジェクトに変換する)
シンボルオブジェクトをprocオブジェクトに変換してメソッドとして呼ぶ実装がされている。
x = [1,2,3,4] x.map(&:to_i) #=> ["1","2","3","4"]
参考 https://melborne.github.io/2014/04/28/proc-is-the-path-to-understand-ruby/
&(アンパサンド)に対してシンボルオブジェクトを渡している。(&はブロックをProcオブジェクトに変換する)
シンボルオブジェクトをprocオブジェクトに変換してメソッドとして呼ぶ実装がされている。
x = [1,2,3,4] x.map(&:to_i) #=> ["1","2","3","4"]
参考 https://melborne.github.io/2014/04/28/proc-is-the-path-to-understand-ruby/
system specででエラーが発生した場合はエラーがコントローラー内で起きている可能性があるので、使われているアクションの最後でbinding.pryで止めてみる。 正しく動く場合はコントローラー内ではエラーが発生していないことがわかる。
pageの中身はpage.body
で確認することができる。
command + _
→ 文字サイズ小さくなる
command + shift + +
→ 文字サイズ大きくなる
値オブジェクト(データベースに紐づかない、一意性のないオブジェクト)の属性値(attr_accessorで定義した属性)とデータベースに紐づくActiveRecordのオブジェクトの属性値(カラム)をマッピングする。 参考 https://qiita.com/okuramasafumi/items/16bcda8f6382a3db47c9
selectは各要素をブロックで評価し、trueになる要素を抽出する。
rejectはfalseになる要素を抽出する。
array = [ 1, 2, 3, 4, 5 ] selected = array.select { |i| i > 3 } p selected #=> [ 4, 5 ] array = [ 1, 2, 3, 4, 5 ] rejected = array.reject { |i| i > 3 } p rejected #=> [ 1, 2, 3 ]
number = [ 0, 1, 2, 3, 4 ] number[-1] # => 4