Ruby on Rails チュートリアルをやってみた【第14章】

シェアする

第14章の実績

第14章 ユーザーをフォローする を実施しました!
実施時間: 5時間

学べたこと

  • 多対多のリレーションシップ
    多対多の関係を持つモデルの場合でもRailsでは簡単にリレーションシップを表現することができます。ただし、これまでの1対多の関係性のように命名からだけでは指定できないので、「クラス名(class_name:)」や「外部キー(foreign_key:)」を指定する必要があります。これにより事実上は1対多と多対1となる連関モデルによるリレーションシップが作られます。
  • resourcesブロックの内側で:memberメソッド
    ルーティングにおいて resources の:memberメソッドを用いることで、「 /users/1/following」 や 「/users/1/followers」  といったURLを扱うことができるようになります。
  • Ajaxリクエスト
    Railsではとても簡単にAjaxを用いたリクエスト通信を実装することが可能です。form_for()メソッドに、「remote: true」 引数を加えるだけです。
    一応仕組みとしては、この記述により、<form>タグにdata-remote=”true”という属性が書き出さされ、この属性を目印にRailsのJavaScriptがAjax通信をしてくれます。
    ただし、Controller側では標準ではhtml出力されるので、「respond_to」メソッドにより出力出し分けるという対応も必要です。

その他の追加機能

これで当初目標としていたRailsを用いたサンプルアプリケーション実装は終了です。ただ、これはもちろん基礎的なものですので改良の余地は多々あります。最後に色々な改良案が載せてありましたので転載します。

  • ユーザ毎のダイレクトメッセージ機能
  • メールでの通知機能
  • RSSフィード
  • REST API
  • ユーザやマイクロソフトなどの検索機能

…etc

俺たちの戦いはこれからだ!ということですね。

参考

環境

  • ruby: 2.3.3
  • ruby on rails: 5.1.4
  • OS: Windows 10 (64bit)
  • IDE: IntelliJ ULTIMATE 2018.1
  • リポジトリ:GitHub

リンク

【スポンサードリンク】

%d人のブロガーが「いいね」をつけました。