質問編集履歴
3
補足
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
user_helper.rbのメソッドをcareer_decorator.rbに移動
|
1
|
+
user_helper.rbのメソッドをcareer_decorator.rbに移動する方法
|
body
CHANGED
@@ -62,5 +62,12 @@
|
|
62
62
|
|
63
63
|
careerがtermメソッドを持っていないことはなんとなくわかっていますがどうしたら良いのかわかりません。
|
64
64
|
|
65
|
+
自分なりの考え
|
66
|
+
- helperからdecoratorに該当メソッドを移動する時にコピペだけだとだめっぽい=>decoratorのメソッドを変更するのか
|
67
|
+
- モデルのアソシエーション操作が必要なのか?
|
68
|
+
- decorator.rbは手打ちではなくコマンドで作成しないといけないのか??=> rails g decorator careerとやったらgem周りでエラーが出ました
|
69
|
+
- careerオブジェクトがtermメソッドを持っていない
|
70
|
+
- users_controller.rbのshowにcareerのインスタンスを作成する必要がありそう
|
65
71
|
|
72
|
+
|
66
73
|
ヒントいただければ幸いです。
|
2
補足
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,7 +36,30 @@
|
|
36
36
|
td = career.title
|
37
37
|
|
38
38
|
```
|
39
|
+
user_helper.rb(termとdestance_of_termメソッドをcareer_decorator.rbに移動したい)
|
40
|
+
```
|
41
|
+
module UsersHelper
|
39
42
|
|
43
|
+
def term(career)
|
44
|
+
start_date = l(career.start_date, format: :term)
|
45
|
+
|
46
|
+
if career.end_date.blank?
|
47
|
+
"#{start_date} - #{t('date.formats.ongoing')}"
|
48
|
+
else
|
49
|
+
"#{start_date} - #{l(career.end_date, format: :term)}"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def distance_of_term(career)
|
54
|
+
if career.end_date.blank?
|
55
|
+
t('datetime.distance_in_words.ongoing')
|
56
|
+
else
|
57
|
+
distance_of_time_in_words(career.start_date, career.end_date)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
```
|
62
|
+
|
40
63
|
careerがtermメソッドを持っていないことはなんとなくわかっていますがどうしたら良いのかわかりません。
|
41
64
|
|
42
65
|
|
1
補足
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
もともとuser_helper.rbに記述していたメソッドを新しく作成したcareer_decorator.rbに移動したいのですが、undefined method `term' for #<Career:0x007feba8b82130>のエラーがでます。
|
2
2
|
いくら考えて、実行しても改善できないので質問させていただきました。
|
3
|
-
|
3
|
+
以下は現状のコードです
|
4
|
-
|
5
4
|
career_decorator.rb
|
6
5
|
```
|
7
6
|
module CareerDecorator
|