在我的控制器/操作中,我有一些值为nil
def my_action
@var1 = get_boolean_value || nil
@var2 = get_int_value || nil
@var3 = get_string_value || nil
# there many more, any one can happen to be nil
end
当我在其中的视图中创建JSON对象时,nil值将呈现为空白:
:javascript
window.MyObj = {
var1: #{@var1},
var2: #{@var1},
var2: #{@var3}
}
问题在于,当值是nil时,它将被呈现为空白空间,而不是nil本身。
:javascript
window.MyObj = {
var1: ,
var2: 33,
var2:
}
如何治愈?
答案 0 :(得分:6)
一个人不应该重新发明轮子。使用JSON
ruby标准库序列化json:
require 'json'
json = {var1: nil, var2: 42, var2: nil}.to_json
#⇒ "{\"var1\":null,\"var2\":42,\"var3\":null}"
然后:
:javascript
window.MyObj = json