所以我的問題是,有一個Object.weight。收集一類屬性到數組中,只有當存在時
我想查找所有對象,其中user_id是@ user.id,然後將所有Object.weight 屬性放入數組中,只有當屬性不爲零時。
像
@o = Object.find.where(:user_id => @user.id)
@a << @o.weight.where(:weight true)
然後我想列出所有那些從陣列中,用「」分隔符。
一切順利!
所以我的問題是,有一個Object.weight。收集一類屬性到數組中,只有當存在時
我想查找所有對象,其中user_id是@ user.id,然後將所有Object.weight 屬性放入數組中,只有當屬性不爲零時。
像
@o = Object.find.where(:user_id => @user.id)
@a << @o.weight.where(:weight true)
然後我想列出所有那些從陣列中,用「」分隔符。
一切順利!
Object.where(:user_id => @user.id).collect(&:weight).compact
collect
取從陣列相關的所有元素和compact
刪除該數組所有nil
對象。
對於視圖:
arr.join(", ")
當您的日期存儲在數據庫中時,jvnill避免'nil's的解決方案是更好的解決方案。 – davidb 2013-03-11 08:52:18
嘗試
@weights = Record.where(user_id: @user.id).where('weight IS NOT NULL').map(&:weight)
puts @weights.join(',')
thx也是這樣 – 2013-03-11 09:02:24
沒有違法,但 「一切順利!」在考場給我一個問題紙的感受:) – 2013-03-11 08:45:16
想着要寫什麼,下次也許只是'謝謝';) – 2013-03-11 08:48:46
順便說一句,從來沒有經歷過這麼快速和精確的幫助,這是我的第一個問題:) – 2013-03-11 09:03:14