質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

1209閲覧

エラーが出ないんです。。。

PartyKids

総合スコア65

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2017/05/05 07:01

編集2017/05/05 20:31

GW中ありがとうございます。

###疑問
空入力について何も制限していないのに、テストコードの主張(空入力は無効である)というテストにクリアしてしまいます。
パスするって事は、どこかにコードミスがあるためテストがパスするのか?
それとも、空入力に制限を付加する前は何でも入力可能なため、空はダメ!っと強く断定出来ないためパスするのか?

ruby

1###test/models/relationship_test.rb 2 require 'test_helper' 3 4class RelationshipTest < ActiveSupport::TestCase 5 6 def setup 7 @relationship = Relationship.new(follower_id: users(:michael).id, 8 followed_id: users(:archer).id) 9 end 10 11 test "should require a follower_id" do 12 @relationship.follower_id = nil 13 assert_not @relationship.valid? 14 end 15 16 test "should require a followed_id" do 17 @relationship.followed_id = nil 18 assert_not @relationship.valid? 19 end 20end 21 22###app/models/relationship.rb 23class Relationship < ApplicationRecord 24 belongs_to :follower, class_name: "User" 25 belongs_to :followed, class_name: "User" 26 ###validates :follower_id, presence: true 27 ###validates :followed_id, presence: true 28end

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Rails のバージョンによっては、belongs_to のデフォルトが required: false になっていて(つまり必須ではないので nil が許可される)、これは仮に Rails を update しても勝手には変更されません。

というのが このサイト でまとめられていました。

これに該当していませんでしょうか。

投稿2017/05/07 05:06

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

PartyKids

2017/05/08 12:17

返信遅くなりまして、申し訳ございません。 回答ありがとうございました! rails 5 を使っているので、デフォルトでrequire:trueになっているため、そこが問題ではなかったのですが、自分の打ったコードのみならず、rails の仕組みにも視野を広げないといけないことが分かりました。 ありがとうございました!
guest

0

特にエラーが出ないのはエラーがないという意味です。正常に動作したときに何かを表示する、ということはCUI開発ツールの世界ではあまりないのです。
私も最初知ったときは、なんて不親切なんだって思いましたw

投稿2017/05/05 07:26

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/05/05 07:27

あ、もしかしたら&じゃなくて&&だと思います。それが原因かも。
PartyKids

2017/05/05 20:38

おはようございます! 回答ありがとうございます。 すみません。全体的に説明不足でしたので、編集し直しました。 ご迷惑おかけしますが、よろしくお願いいたします。 >もしかしたら&じゃなくて&&だと思います。 すみません。これも、rails test や rails test:models っという意味を伝えたかったのですが、誤解を招く書き方をして申し訳ございませんでした。 よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2017/05/07 04:17

なるほど…。あまり良く理解せずに回答してしまってすみません…。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問