2016-03-03 65 views
0

比方說你有一個Fruit模型,你有一個fruit_type柱:您可以訂購一個有效的記錄結果嗎?

  • 香蕉
  • 蘋果
  • 橘子
  • 其他
  • 菠蘿

是否有可能訂購這些是這樣的嗎?:

  • 蘋果
  • 香蕉
  • 橘子
  • 菠蘿
  • 其他

這裏的想法是,我將建立一個形式,選擇並從純粹的UI角度來看,我想Other作爲最後的選擇。我敢肯定,我可以在視圖中看到一些奇怪的代碼,將Other移動到最後,但理想情況下,我想通過直接的順序操作或通過操縱正常順序的結果(:fruit_type )操作到move那一行已經有Other到最後。

回答

-1

在Ruby本身很容易做到,看起來很簡單。考慮到你最後的選擇被命名爲 「其他」:

other = array.detect { |item| item.name == 'Other' } 
array_without_order = array.reject { |item| item.name == 'Other' } 
final_array = array_without_order.sort_by(&:name).push(other) 
+0

.delete(其他)實際上破壞了通過SQL記錄VS從存儲的結果 –

+0

final_array = array.reject {|項目| item.name =='Other'}。pu​​sh(other) –

+0

如果它是一個關係而不是數組,則會發生這種情況。我會相應地更新。 –