2015-09-08 48 views
3

我有以下代碼,其中我想將某些值更改爲csv友好的,例如,'nil'改爲''。我需要知道如何進行這些更改。謝謝。紅寶石陣列中的字符串替換

def daily_door_schedule 
    @tickets = Ticket.where(active: true). 
     pluck(
     :door_manufacturer, 
     :job_number, 
     :door_style, 
     :door_allocation_date, 
     :date_doors_received_in_aub, 
     :door_delivery_due_date, 
     :notes 
    ) 

    respond_to do |format| 
     format.html 
     format.csv { render text: @tickets.to_csv } 
    end 
    end 
+1

'to_csv'可以處理'nil'值,它會導致一個空場 – Stefan

+0

具體是什麼問題呢? CSV類不會創建包含單詞'nil'的字符串。 –

+2

Ruby沒有'where或'pluck'方法。如果他們沒有在'Ticket'中定義,則至少需要一個標籤。 –

回答

3

這應做到:

@tickets = Ticket.where(active: true). 
    pluck(
    :door_manufacturer, 
    :job_number, 
    :door_style, 
    :door_allocation_date, 
    :date_doors_received_in_aub, 
    :door_delivery_due_date, 
    :notes 
).map { |ticket| ticket.map(&:to_s) } 
+0

安東尼,這是當你不使用你的老花眼鏡時發生的事情。我想你想要'el || ='''。如果'el'是一個字符串或者'nil',你也可以寫'ticket.map(&:to_s)',但是我想你想要字符串。 (我不知道這是什麼「拔」。) –

+1

我剛去了驗光師在我的生活中第一次2周前...你的評論可能不太合適。一如既往,感謝您的建議 - 這是完美的。 – Anthony