質問するログイン新規登録

質問編集履歴

6

syuusei

2021/11/29 07:16

投稿

IRIESS
IRIESS

スコア45

title CHANGED
File without changes
body CHANGED
@@ -66,8 +66,31 @@
66
66
  ```
67
67
 
68
68
  ```ruby
69
+
70
+ #
71
+ このコードで解決しました。
69
72
  it "ちょうど1時間なら有効" do
70
73
  agreement = build(:agreement, room: room, user: room.user, host: room.host, finish_time: Time.current + 25.hour)
71
74
  expect(agreement).to be_valid
72
75
  end
76
+ ```
77
+
78
+ そして
79
+
80
+ ```ruby
81
+ if room.agreement.nil?
82
+ Agreement.where('finish_time >= ? && ? >= start_time && user_id = ?', start_time, finish_time, user_id).exists?
83
+ errors.add(:start_time, "userの勤務期間が他の契約と重複していますneeee。")
84
+ else
85
+
86
+ ここにifをつけ忘れていたこともややこしくしていました泣泣
87
+ 正しくは
88
+
89
+ if room.agreement.nil?
90
+ if Agreement.where('finish_time >= ? && ? >= start_time && user_id = ?', start_time, finish_time, user_id).exists?
91
+ errors.add(:start_time, "userの勤務期間が他の契約と重複していますneeee。")
92
+ end
93
+ else
94
+
95
+ に修正しました
73
96
  ```

5

tuiki

2021/11/29 07:16

投稿

IRIESS
IRIESS

スコア45

title CHANGED
File without changes
body CHANGED
@@ -63,4 +63,11 @@
63
63
  state { 0 }
64
64
  end
65
65
  end
66
+ ```
67
+
68
+ ```ruby
69
+ it "ちょうど1時間なら有効" do
70
+ agreement = build(:agreement, room: room, user: room.user, host: room.host, finish_time: Time.current + 25.hour)
71
+ expect(agreement).to be_valid
72
+ end
66
73
  ```

4

gozi

2021/11/29 07:13

投稿

IRIESS
IRIESS

スコア45

title CHANGED
File without changes
body CHANGED
@@ -63,13 +63,4 @@
63
63
  state { 0 }
64
64
  end
65
65
  end
66
- ```
67
-
68
- ```ruby
69
- # この書き方で解決しました
70
- it "1時間ちょうどなら有効" do
71
- room = create(:room)
72
- agreement = build(:agreement, room: room, user: room.user, host: room.host, finish_time: Time.current + 25.hour )
73
- expect(agreement).to be_invalid
74
- end
75
66
  ```

3

kaizennsaku

2021/11/29 06:29

投稿

IRIESS
IRIESS

スコア45

title CHANGED
File without changes
body CHANGED
@@ -63,4 +63,13 @@
63
63
  state { 0 }
64
64
  end
65
65
  end
66
+ ```
67
+
68
+ ```ruby
69
+ # この書き方で解決しました
70
+ it "1時間ちょうどなら有効" do
71
+ room = create(:room)
72
+ agreement = build(:agreement, room: room, user: room.user, host: room.host, finish_time: Time.current + 25.hour )
73
+ expect(agreement).to be_invalid
74
+ end
66
75
  ```

2

書式の改善

2021/11/29 06:11

投稿

IRIESS
IRIESS

スコア45

title CHANGED
@@ -1,1 +1,1 @@
1
- オリジナルvalidateでRspec実行時み起きエラーについて
1
+ Rspec validate中でparameterを使用していときのモデルspecについて
body CHANGED
File without changes

1

ごじ

2021/11/28 12:56

投稿

IRIESS
IRIESS

スコア45

title CHANGED
File without changes
body CHANGED
@@ -8,6 +8,7 @@
8
8
 
9
9
 
10
10
  パラメータを渡してないからだと思うのですが、ではどのようにしてモデルテストを記述したら良いのか分かりません。。。。。
11
+ リクエストspecに書き換えたほうがいいでしょうか?
11
12
  ベストプラクティスをご教授お願い致します。
12
13
 
13
14
  ```ruby