tjinjin's blog

インフラ要素多めの個人メモ

Railstutorial学習記録12(完)

最後の章です

やったこと

  • twitterのようなフォローシステムの実装

メモ

  • has_manyだと1:Nの関係。N:Nにはhas_many throughを使う

Userモデルオブジェクトの外部キーがuser_idの場合、Railsは自動的に関連付けを推測します。つまり、Railsはデフォルトで、<クラス>_idという形式の外部キーがあることを期待します。ここで<クラス>は小文字のクラス名です

  • Ajaxremote: trueとするだけで簡単に実装できるんだなーと
  • xhr(XmlHttpRequest)

Ajaxリクエストを受信した場合は、Railsが自動的にアクションと同じ名前を持つJavaScript組み込みRuby (.js.erb) ファイル (create.js.erbやdestroy.js.erbなど) を呼び出します。ご想像のとおり、これらのファイルではJavaScriptと組み込みRuby (ERb) をミックスして現在のページに対するアクションを実行することができます。

  • JS-ERb

このfollowed_user_idsメソッドは、実はActive Recordによってhas_many :followed_users関連付けから自動生成されたものです (リスト11.10)。これにより、user.followed_usersコレクションに対応するidを得るための_idsを、関連付けの名前に追加するだけで済みます

とのこと。

  • 新機能を実装する前にすでにそういった機能がないかチェックしてみよう

Ruby on Rails Screencasts - RailsCasts

やってみての感想

疲れたの一言ですね。やりながら理解は難しそうなので、実際に作って改良する中で理解できたらと思いました。写経しているだけだと理解が進まないですね。全体通しての感想は、Railsは高機能でいいんですけどどこまでRailsがやってくれるのかを把握しておかないと大変そうです。一通りRailsアプリ作る経験ができたので、次は簡単なアプリを作ってみたいなと思います。

github.com

Thanks Rails Tutorial!!!

railstutorial.jp