Sun~sun~Flower's

〜ITエンジニアとして日々前向きに生きていくノウハウブログ〜

MENU

【Railsアプリケーション】:(コロン)と呼ばれるシンボルの使い方及び、ロールバックについて

f:id:mTakata:20200416234500j:plain

こんにちは。

当ページにアクセスしてくださり、ありがとうございます。

 

この記事は、プログラミング言語「Ruby」のフレームワーク「Rails」についての記事になります。

 

問題1

Rubyでは:(コロン)で始まるシンボルと呼ばれるものがありますが、これはどういったものか、またシンボルを使うことのメリットは何か解説してください。

解説

Rubyの内部では整数として管理されているが、文字列のように呼び出せるオブジェクトです。

 

同じシンボルであれば同一のオブジェクトを参照するので、いくつ作成しても必要なメモリ容量は変わらないというメリットがあります。

 

また、文字列よりも高速に処理することができます。

問題2

Railsアプリケーションではバリデーションに引っかかると保存がされない仕組みがあります。

 

以下のコードで、保存されるべきtweetがなぜか保存されずロールバックされてしまう場合、どうすればその理由を確認できるか説明してください。

```Rails(Ruby)
1 tweet = Tweet.new(tweet_params)
2 if tweet.save
3   some_method(tweet)
4 end ``` 

解説

  1. 1行目と2行の間にbinding.pryを記載し止める。
  2. pryの中で、tweet.saveを実行する。
  3. tweet.errorsを実行すると保存の際に出たエラーの内容が表示される。

 

以上となります、参考になれば幸いです。

 

最後まで読んでいただき、ありがとうございました。