質問編集履歴

3

補足

2016/03/17 05:37

投稿

mikan1110
mikan1110

スコア15

test CHANGED
@@ -1 +1 @@
1
- user_helper.rbのメソッドをcareer_decorator.rbに移動させたい
1
+ user_helper.rbのメソッドをcareer_decorator.rbに移動する方法
test CHANGED
@@ -126,6 +126,20 @@
126
126
 
127
127
 
128
128
 
129
+ 自分なりの考え
130
+
131
+ - helperからdecoratorに該当メソッドを移動する時にコピペだけだとだめっぽい=>decoratorのメソッドを変更するのか
132
+
133
+ - モデルのアソシエーション操作が必要なのか?
134
+
135
+ - decorator.rbは手打ちではなくコマンドで作成しないといけないのか??=> rails g decorator careerとやったらgem周りでエラーが出ました
136
+
137
+ - careerオブジェクトがtermメソッドを持っていない
138
+
139
+ - users_controller.rbのshowにcareerのインスタンスを作成する必要がありそう
140
+
141
+
142
+
129
143
 
130
144
 
131
145
  ヒントいただければ幸いです。

2

補足

2016/03/17 05:37

投稿

mikan1110
mikan1110

スコア15

test CHANGED
File without changes
test CHANGED
@@ -74,6 +74,52 @@
74
74
 
75
75
  ```
76
76
 
77
+ user_helper.rb(termとdestance_of_termメソッドをcareer_decorator.rbに移動したい)
78
+
79
+ ```
80
+
81
+ module UsersHelper
82
+
83
+
84
+
85
+ def term(career)
86
+
87
+ start_date = l(career.start_date, format: :term)
88
+
89
+
90
+
91
+ if career.end_date.blank?
92
+
93
+ "#{start_date} - #{t('date.formats.ongoing')}"
94
+
95
+ else
96
+
97
+ "#{start_date} - #{l(career.end_date, format: :term)}"
98
+
99
+ end
100
+
101
+ end
102
+
103
+
104
+
105
+ def distance_of_term(career)
106
+
107
+ if career.end_date.blank?
108
+
109
+ t('datetime.distance_in_words.ongoing')
110
+
111
+ else
112
+
113
+ distance_of_time_in_words(career.start_date, career.end_date)
114
+
115
+ end
116
+
117
+ end
118
+
119
+
120
+
121
+ ```
122
+
77
123
 
78
124
 
79
125
  careerがtermメソッドを持っていないことはなんとなくわかっていますがどうしたら良いのかわかりません。

1

補足

2016/03/17 05:07

投稿

mikan1110
mikan1110

スコア15

test CHANGED
File without changes
test CHANGED
@@ -2,9 +2,7 @@
2
2
 
3
3
  いくら考えて、実行しても改善できないので質問させていただきました。
4
4
 
5
-
5
+ 以下は現状のコードです
6
-
7
-
8
6
 
9
7
  career_decorator.rb
10
8