Опитвам се да експортирам данните си в CSV файл. Това е моят модел:
def self.generate_csv(ids)
CSV.generate({:col_sep => "\t"}) do |csv|
csv << ['topfind terminus id','position','sequence','protein (uniprot ac)','topfind evidence ids']
ids.each do |id|
n = Nterm.find(id)
csv << [n.externalid,n.pos,n.protein.sequence[n.pos-1..n.pos+9],n.protein.ac,n.evidences.collect{|e| e.externalid}.join(':')]
end
end
end
И това е контролерът за този модел, който извиква този метод:
def show
puts "id search: [#{params[:id]}]"
@output = Nterm.generate_csv(params[:id])
respond_to do |format|
format.html
format.csv { send_data @output.as_csv }
end
p @output
end
И това е моето виждане:
<%= link_to "Export to CSV", {:method=> "show", :id => @nterm.map {|i| i.id }} %>
Не съм съвсем сигурен какво да поставя в изгледа на шоуто си в този случай. Как да създам CSV?
:format => :csv
към вашияlink_to
- person Nathan   schedule 02.09.2015