1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Railsチュートリアル 第4章<復習>

Posted at

第4章の復習メモです。
個人的に重要と思ったことを書きます。
調べたことや、知っていたことも含めて書きます。

#ヘルパー
ビューやコントローラ、モデルから呼び出せるメソッド。
以下の二種類がある。

  1. 組み込みヘルパー
  2. 新しく定義できるカスタムヘルパー

1は、Railsで元々用意されている。
2は、自分で定義でき、以下のファイルに記述する。
 app/helpers/application_helper.rb

※以下のサイトも参考にさせていただきました
https://www.sejuku.net/blog/28563

#文字列の表現
文字列は、シングルクォート(')またはダブルクォート(")で囲む。
前者は、囲った物をそのまま表現する。
よって、正規表現(\n等)や、式展開(文字列中に変数を埋め込む)は無効となる。
後者は、両方とも有効。

#引数、カッコの省略
##メソッドにデフォルト引数を設定している場合、引数、カッコを省略できる。

# メソッドの定義
def string_message(str = '')   # デフォルト引数として''を設定
 .
 .
end

# 呼び出す側
string_message

##最後の引数がハッシュの場合、波カッコを省略できる。

# 以下の二つは同じ意味となる
stylesheet_link_tag 'application', { media: 'all',
                                     'data-turbolinks-track': 'reload' }

stylesheet_link_tag 'application', media: 'all',
                                   'data-turbolinks-track': 'reload'

#範囲 (range) オブジェクト
1..10a..zのように表現する。
to_aメソッドで配列に変換すると、範囲内の値が全て、配列に格納される。

#ブロック
{}で囲むパターンと、do~endで囲むパターンがある。
すいません、文章にできるほど理解できていないので、
リンクを貼らせていただきます・・・
https://www.sejuku.net/blog/14291

#inspectメソッド
対象のリテラル(プログラムに記述するデータ値。コードに書いた値。)を返却する。

>> puts (1..5).to_a            # 配列を文字列として出力
1
2
3
4
5
>> puts (1..5).to_a.inspect    # 配列のリテラルを出力
[1, 2, 3, 4, 5]
>> puts :name, :name.inspect
name
:name
>> puts "It worked!", "It worked!".inspect
It worked!
"It worked!"

以下を参考にさせていただきました
https://www.sejuku.net/blog/77039
http://www.designmap.info/2016/12/16/javascript-3/#i-2

#クラス、継承
Rubyにおけるすべてのクラスは、最終的にスーパークラスを持たない
BasicObjectクラスを継承している。
image.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?