【169日目】【1日20分のRailsチュートリアル】【第12章】Relationshipモデルのバリデーションを追加する
今日は「12.1.3 Relationshipのバリデーション」から。
12.1.3 Relationshipのバリデーション
先に進む前に、Relationshipモデルの検証を追加して完全なものにしておきましょう。
Relationshipモデルのバリデーションのテストとバリデーション自体を追加する。
follower
、followed
に対してidがnilの場合はRelationshipが有効じゃないことを確認する、って感じなのかな…??
test/models/relationship_test.rb
require 'test_helper' class RelationshipTest < ActiveSupport::TestCase def setup @relationship = Relationship.new(follower_id: 1, followed_id: 2) end test "should be valid" do assert @relationship.valid? end test "should require a follower_id" do @relationship.follower_id = nil assert_not @relationship.valid? end test "should require a followed_id" do @relationship.followed_id = nil assert_not @relationship.valid? end end
app/models/relationship.rb
validates :follower_id, presence: true validates :followed_id, presence: true
ユーザーのときと同じで (リスト6.30でfixtureの内容を削除したように)、今の時点では生成されたリレーションシップ用のfixtureファイルも空にしておきましょう (リスト12.6)。
ユーザーのときのこと覚えてないけど今は空にしておきましょう。
test/fixtures/relationships.yml
# empty
これでテストが通るようになりました。
$ bundle exec rake test 62 tests, 309 assertions, 0 failures, 0 errors, 0 skips
今日の学習時間は【12分】。
次は「12.1.4 フォローしているユーザー」から。