rails_tutorial chapter4 <忘備録>


keyとvalueの書き方

>> h1 = { :name => "Michael Hartl", :email => "[email protected]" }
=> {:name=>"Michael Hartl", :email=>"[email protected]"}

>> h2 = { name: "Michael Hartl", email: "[email protected]" }
=> {:name=>"Michael Hartl", :email=>"[email protected]"}

:nameは文字列の上位互換と捉えれば理解しやすい。

:nameはシンボルとして独立していますが、引数を伴わないname:では意味が成り立ちません。
次のコードの:name =>とname:は、ハッシュとしてのデータ構造は全く同じです。

{ :name => "Michael Hartl" }
 ==
{ name: "Michael Hartl" }

()と{}の省略

# メソッド呼び出しの丸カッコは省略可能。
stylesheet_link_tag('application', media: 'all',
                                   'data-turbolinks-track': 'reload')
# 上は以下のように書いても同じ
stylesheet_link_tag 'application', media: 'all',
                                   'data-turbolinks-track': 'reload'

上のコードではstylesheet_link_tagメソッドを2つの引数で呼んでいます。最初の引数である文字列は、スタイルシートへのパスを示しています。次の引数であるハッシュには2つの要素があり、最初の要素はメディアタイプを示し、次の要素はRails 4.0で追加されたturbolinksという機能をオンにしています。この結果、 で囲まれているコードを実行した結果がERbのテンプレートに挿入されるようになります。

# 最後の引数がハッシュの場合、波カッコは省略可能。
stylesheet_link_tag 'application', { media: 'all',
                                     'data-turbolinks-track': 'reload' }
# 上は以下のように書いても同じ
stylesheet_link_tag 'application', media: 'all',
                                   'data-turbolinks-track': 'reload'