カロリーメイトください

Barbaroi Ware(バルバロイ・ウェア)という名前でアプリ開発してます

『Ruby on Rails チュートリアル』「第14章 ユーザーをフォローする」1

railstutorial.jp

序文

Railsチュートリアル27+3日目。
あ、1ヶ月だ…。

少しお久しぶり。
また少し体調を崩してしまい、だらだらと勉強はしていたんですが、アウトプットまで持っていく気力が出ませんでした。

プログラミング以外にもいろいろやることがあって、特に区切りとか感じることもなく新年を迎えそうです。
一瞬帰省はするけど。

やり残しいっぱいだなぁ…。

進捗

  • 第13章 ユーザーのマイクロポスト
    • 13.4 マイクロポストの画像投稿
    • 13.5 最後に
  • 第14章 ユーザーをフォローする

コード実装部分(一部)

/sample_app/test/models/relationship_test.rb

require 'test_helper'

class RelationshipTest < ActiveSupport::TestCase

  # michael→archerのフォロー関係を設定する
  def setup
    @relationship = Relationship.new(follower_id: users(:michael).id,
                                     followed_id: users(:archer).id)
  end

  # @relationshipは正しいデータか
  test "should be valid" do
    assert @relationship.valid?
  end

  # follower_id(フォローしている側)があるか
  test "should require a follower_id" do
    @relationship.follower_id = nil
    assert_not @relationship.valid?
  end

  # followed_id(フォローされている側)があるか
  test "should require a followed_id" do
    @relationship.followed_id = nil
    assert_not @relationship.valid?
  end
end

GitHub

github.com

実行結果

f:id:yjkym:20181221153622p:plain (上のソースコードとは無関係)

感想

Railsチュートリアル13章から14章に突入。
一応最終章。

13章でAWSのS3を利用してHerokuから画像をアップロードするということをやった。
一応画像のアップロード自体はできたが、やりかたが正しいのか全然わからない…。
というか全部publicにするみたいな力技な解決法やったからダメなんだろうな…。

ググって解決しろ!って言うんだけど、AWSのUIころころ変わってるからそのとおりにできないんだよー。
こういう環境設定みたいなのはどうやったらできるようになるんだろうか。
英語かな…。

14章は中間テーブルを利用して、フォロー・フォロワー関係を実現する。
「ふぉ、フォロワー? えっとフォローしている人?あれ、それじゃ日本語の意味と逆になってる…
あれ?されている人? 受動態? フォロード?いやこれ過去形?」
みたいなことを考え始めてドツボにはまる。

直訳してfollower = 「信奉者・ファン」みたいな意味に置き換えてから理解したら少し分かるようになった気がした。
みんな混乱しないのかなー。俺だけなのかなー。

飛ばしたところに出てきてなければ、中間テーブル使うのってここが初めてだと思うんだけど、1つのテーブルを2つのモデルで利用する?とかなんか難しすぎないかなー。

明日、改めて整理してから勉強しよう。

カロリーメイトください。

今日のunityroom

ねこpc | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
www.youtube.com
この方の作品好きです(D言語くんスキーの人)。
超多作なのにそれぞれ作風が全然違って、しかも既存のゲームの枠組みに全然とらわれてないっていう。
何者なんでしょう。