回答編集履歴

1

updated_atだと保存時に保存日時になってしまうのでupdate_atに変更。

2015/08/04 02:27

投稿

rifuch
rifuch

スコア1901

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- orderにupdated_at属性でも作っておいて、
5
+ orderにupdate_at属性でも作っておいて、
6
6
 
7
7
  ```Ruby
8
8
 
@@ -12,6 +12,8 @@
12
12
 
13
13
  order.status = 'reject'
14
14
 
15
+ order.update_at = order.update_at + 10.days
16
+
15
17
  order.save
16
18
 
17
19
  end
@@ -20,21 +22,27 @@
20
22
 
21
23
  # userが新しくorderするメソッドで事前判定
22
24
 
23
- newest_order = user.orders.order(Order.arel_table[:updated_at].desc).first
25
+ newest_order = user.orders.order(Order.arel_table[:update_at].desc).first
24
26
 
25
27
  order_available = false
26
28
 
27
- if (newest_order.status == "review" && newest_order.updated_at < 13.days.from_now)
29
+ if (newest_order.status == "review" && newest_order.update_at < 10.days.from_now)
28
30
 
29
31
  newest_order.status = 'reject'
30
32
 
33
+ order.update_at = order.update_at + 10.days
34
+
31
35
  newest_order.save
32
36
 
37
+ if (newest_order.update_at < 3.days.from_now)
38
+
33
- oder_available = true
39
+ oder_available = true
40
+
41
+ end
34
42
 
35
43
  elsif (newest_order.status == "accept" || newest_order.status == "reject") &&
36
44
 
37
- newest_order.updated_at < 3.days.from_now
45
+ newest_order.update_at < 3.days.from_now
38
46
 
39
47
  order_available = true
40
48
 
@@ -46,6 +54,10 @@
46
54
 
47
55
  end
48
56
 
57
+
58
+
59
+ ## oder_update_atは自動で更新されないので、ステータス変更のたびに日付を更新する必要はある
60
+
49
61
  ```
50
62
 
51
63
  こんな感じでいいのでは?