2012-10-17 53 views
0

當我嘗試這個時,我得到{a:1,b:},因爲c不存在。當c出現時,我得到{a:1,b:1},這是正確的。但是,我怎樣纔能有條件地隱藏節點b,以便我只能得到{a:1}?Rails erb Json查看條件呈現

{"a": <%= json @teams.count %> 
,"b": <%= json @teams.num if @c.present? %>} 

回答

0

你可以通過一個Ruby哈希json,它會弄明白正確

<%= json(a: @teams.count, b: (@teams.num if @c.present?)) %> 

與方法的問題是,您要自己繪製的字符串,但nil正在呈現作爲空格而不是空字符串''。你可以理論上這樣修復它:

{"a": <%= json @teams.count %> 
,"b": <%= json(@c.present? ? @teams.num : '' %>} 

但是如果你使用第一種方法,你可以避免大部分的麻煩。