よちよち.rb 第15回 #yochiyochirb

4月!です!!

よちよち.rb 第15回 @万葉さん、スーツ率高かったです。

転職した、面談があった、現場がかわった、客先へいった、など理由は様々でしたが、
なんだかそういう、「移動(異動)」の時期なんだな〜と思いました。

かくいう私も今週は木曜〜日曜、スーツでお仕事。

概要

自己紹介(初参加の方が2名!)、目標に対する進捗を発表。
四半期を終えたところで、目標を達成した人や、内容を見直した方もちらほら。
私も4月からちょっと見直しいれようかな、早急に。

Tokyu.rbのおだいさんのLTを再演!!

Railsチュートリアルは「2.3.3 マイクロポストをhas_manyで関連づける」から、グループワーク形式。


おだいさんのLT

(スライドがまだアップされていないということで、記憶を頼りに書きます。間違っているところがあったらごめんなさい)

Tokyu.rbで、レポート班いいよっていうLTをされたおだいさん。
るびまのレポート班として活躍しているおだいさんが考えた、
「いいレポートとは?」という考察がとても勉強になりました。

発表された内容もさることながら、
会場の雰囲気が伝わるフレーズをいれること、
レポートした人の感想をいれること、
などに注意してレポートを書くと、読む人にとっておもしろいレポートになる、とのこと。

また、コミュニティに参加しながらも自分は何も貢献できていない!なにかしたい!という人に、
レポート班はおすすめとのこと。
初心者にも取り組みやすいんですって!


わかったこと

グループワーク形式もすっかり慣れてきました。
今回のチュートリアルを通してわかったこと。

ActiveRecord::Baseのおかげで has_many / belongs_to としか書かなくて良い◎

継承の話。
ユーザーとマイクロポストのテーブルを関連付けるために、
それぞれのmodelにちょろっと書くだけでいい、という便利さ。
それもこれも、ActiveRecord::Base様のおかげっていうことですよね。

controllerも、ApplicationControllerを経由してActionController::Baseを継承している

すべてのcontrollerに共通したいことは、application_controllerに書けばよいということ。

rails consoleはRailsコマンドが使えるirb

`rails console` (`rails c` でもいい)を起動すると、プロンプトのところは`irb`て出てくるんですねー。
え、今irb立ち上げたんだっけ?と思ったら、(見た目は一緒だけど)違うものが立ち上がってるということだそうです。

そして、`rails console -s` でコンソールを立ち上げると、

Any modifications you make will be rolled back on exit

て表示されて、これはつまり、
データベースに書き込んだものをすべてロールバックしてからコンソールを終了するのだそうです。
おりこうさん。


疑問

グループワークのなかであがった疑問。

modelは直接ActiveRecord::Baseを継承している

controllerは、applidation_controller.rbというワンクッションを経て親クラスを継承しているけれど、
modelはそういう「いろんなモデルを束ねるモデル」とかなくて、
直接ActiveRecord::Baseを継承しているというのは、
Railsの思想の話とかなのかな、という話し合いをしました。
そもそも、そういう「いろんなモデルを束ねるモデル」が必要な場面っていつだ?っていう感じもするけど。

「インバウンドHTTP requestのフィルタ」ってなんのこと?

Railsチュートリアル「2.3.4 継承の階層」の最後に書いている言葉。

モデルの継承関係と同様に、UsersコントローラもMicropostsコントローラも最終的にはActionController::Baseを継承しており、モデルオブジェクトの操作、インバウンドHTTP requestのフィルタ、ビューをHTMLとして出力するなどの多彩な機能を実行できるようになっています。

これがよくわかりませんでした。
ググってみたけど、これっていう説明がみあたらなくて謎のままです。

原文

Users and Microposts controllers gain a large amount of functionality, such as the ability to manipulate model objects, filter inbound HTTP requests, and render views as HTML.

次回

次回は4/14(月)、場所は銀座のbeezさんを予定しているとのこと!
しゅくだいはGitHubのissueで募集中なので、みんなに聞いてみたいこととかをアイデア出していきましょう!