0
在導軌3/4中,可以通過在模型中定義方法self.to_csv
並在控制器中添加format.csv
至respond_to
來導出至csv。點擊link_to "CSV", index_path(format: "csv")
開始導出。導出再次調用相同的動作並在csv中呈現。如何在rails 3/4中將當前搜索頁導出到csv?
我們的問題是如何使用可以將當前頁面導出到csv。用戶可能會開始搜索,然後決定將當前頁面導出到csv(無需重新搜索csv導出)。有沒有用戶可以這樣做的方法?
UPDATE:
#for csv download
respond_to do |format|
format.html {@query = @query.page(params[:page]).per_page(30)}
format.csv do
send_data @query.to_csv
@csv = true
end
end
這裏是self.to_csv的模型的例子:
def self.to_csv
CSV.generate do |csv|
#header array
header = ['id', 'action', 'resource', 'brief_note', 'last_updated_by_id', 'role_definition_id', 'sql_code', 'masked_attrs', 'rank', 'created_at', 'updated_at']
csv << header
all.each do |config|
#assembly array for the row
.....
#inject to csv
csv << row
end
end
end
@@ Martin,如何在生成csv時檢索self.to_csv中的@query?我是否需要將變量.to_csv添加爲self.to_csv(查詢)? – user938363 2015-04-05 17:17:11
如果沒有控制器的代碼(只是索引方法),很難回答 - 你可以在這裏發佈嗎? – Martin 2015-04-05 17:33:42
只需發佈控制器和型號代碼。爲了方便起見,使用@query。謝謝。 – user938363 2015-04-05 18:22:49