2015-02-07 41 views
2

在我謨,我有一個用戶模型性別枚舉:Rails的領域枚舉as_json:得到整數,而不是字符串

class User < ActiveRecord::Base 
    enum gender: [:female, :male] 
end 

,當我在我的對象之一調用as_json,我得到的字符串「女性或男性」。有什麼辦法來呈現整數值,而不是字符串?

+0

我正好遇到這也太...所以基本上Rails的泄漏變量名到數據,離奇 – trapper 2017-07-05 06:27:12

回答

0

我會嘗試尋找在文檔

http://edgeapi.rubyonrails.org/classes/ActiveRecord/Enum.html

對於這一點,也許你可以使用哈希代替

class User < ActiveRecord::Base 
    enum gender: { female: 0, male: 1 } 
end 

希望的任何幫助

+0

我仍然使用'as_jon'獲取字符串值 – cappie013 2015-02-07 19:59:57

+0

您可以使用散列值來明確地指出哪個值映射到哪個條目。當你使用數組時,它們的索引就是它們的值。 – aks 2016-08-22 05:29:37

0

User.genders它是一個數組您的枚舉和整數值。所以,請使用User.genders[@user.gender].to_json

如果你不喜歡默認的,to_json,調查jBuilder創建精確的JSON你

+0

我不只是調用「性別」字段。我正在做'@ user.as_jon' – cappie013 2015-02-08 00:47:42

+0

查看修改後的帖子。 – dankohn 2015-02-08 02:23:28