質問編集履歴

1

改行が適切にされていなかったので書き直しました

2015/12/14 07:45

投稿

nimbus1978
nimbus1978

スコア14

test CHANGED
File without changes
test CHANGED
@@ -1,19 +1,31 @@
1
1
  railsのactiverecordのorderについての質問です。
2
+
3
+
2
4
 
3
5
  Bookモデルの中のboxidというカラムの内容が[11-1,2-1,10-1,3-4]のようにハイフンを挟んだ数字の形式であるときに、boxidを昇順にBookモデルの値を取得しようと
4
6
 
7
+
8
+
5
9
  @book = Book.all.order("boxid")
6
10
 
7
- としたところ、boxidが、[10-1,11-1,2-1,3-4]の順番で値を取ってきてしまいました。
8
11
 
12
+
9
- そこで
13
+ としたところ、boxidが、[10-1,11-1,2-1,3-4]の順番で値を取ってきてしまいました。そこで
14
+
15
+
16
+
17
+
10
18
 
11
19
  @book = Book.all.sort_by{"boxid"}
20
+
21
+
12
22
 
13
23
  とすると、ちゃんとboxidが [2-1,3-4,10-1,11-1]の順でBookの値を取得できたのですが、
14
24
 
15
25
  @bookが配列になってしまい、その後の処理に支障をきたしてしまいました。
16
26
 
27
+
28
+
17
29
  @bookがActiveRecord_Relationクラスのまま、boxidが、ハイフンの前の数字の昇順→ハイフンの後ろの数字の昇順で並べて値を取得する方法をご存知の方はいらっしゃいますか?
18
30
 
19
31
  お分かりの方いらっしゃいましたら、宜しくおねがいします。