回答編集履歴
1
コメントへの回答
answer
CHANGED
@@ -32,4 +32,30 @@
|
|
32
32
|
```ruby
|
33
33
|
# ダメ!
|
34
34
|
@books = Book.order(params[:order])
|
35
|
+
```
|
36
|
+
|
37
|
+
## 追記
|
38
|
+
|
39
|
+
order_by がハッシュを返すようにします。
|
40
|
+
params[:order] が配列 ASC に含まれるとき { params[:order] => :asc }
|
41
|
+
DESC に含まれるとき { params[:order] => :desc }
|
42
|
+
含まれない時(リーロードしたとき) { id: :asc} を返します
|
43
|
+
|
44
|
+
```ruby
|
45
|
+
def index
|
46
|
+
@books = Book.order(order_by)
|
47
|
+
end
|
48
|
+
|
49
|
+
ASC = ["evaluation"]
|
50
|
+
DESC = ["updated_at", "created_at"]
|
51
|
+
|
52
|
+
def order_by
|
53
|
+
if ASC.include?(params[:order])
|
54
|
+
{ params[:order] => :asc }
|
55
|
+
elsif DESC.include?(params[:order])
|
56
|
+
{ params[:order] => :desc }
|
57
|
+
else
|
58
|
+
{ id: :asc }
|
59
|
+
end
|
60
|
+
end
|
35
61
|
```
|