Ruby on rails 在Ruby Rails上将数据导出到CSV文件
我正在尝试使用active record和csv类导出数据,但我没有生成文件以帮助查看我的代码Ruby on rails 在Ruby Rails上将数据导出到CSV文件,ruby-on-rails,ruby,csv,activerecord,Ruby On Rails,Ruby,Csv,Activerecord,我正在尝试使用active record和csv类导出数据,但我没有生成文件以帮助查看我的代码 当我单击“导出”并没有打开从csv下载的对话框时,我是否遗漏了什么 我的控制器 def export_csv @contact = Contacts.find_by_sql("select * from contacts_list limit 10") respond_to do |format| format.html format.csv { send
当我单击“导出”并没有打开从csv下载的对话框时,我是否遗漏了什么 我的控制器
def export_csv
@contact = Contacts.find_by_sql("select * from contacts_list limit 10")
respond_to do |format|
format.html
format.csv { send_data @contact.as_csv }
end
end
我的型号
def self.to_csv
attributes = %w{id name mail}
CSV.generate(headers: true) do |csv|
csv << attributes
all.each do |contact|
csv << attributes.map{ |attr| contact.send(attr) }
end
end
end
仅此而已无错误无消息警告。您需要以不同的方式为链接生成URL-使用URL帮助程序,而不是控制器/操作参数:
<%= link_to( 'Export CSV', companies_export_csv_path(format: "csv", { :class => "btn-ex" } ) %>
“btn-ex”})%>
另请参见::company,:action=>:export_csv,格式:'csv',:company_id=>@company.id},{:class=>“btn edit”})%>
谢谢大家,工作得很好。您的问题是什么?当我单击“导出”时,不会打开从csv下载的对话框,我是否遗漏了什么?单击链接后,转到您的web服务器控制台并复制请求和响应信息。将其添加到您的问题中,不要将其粘贴到评论中。@Beartech updated post对话框未打开以保存csv文件。@mrzasa updated post请参见
Started GET "/company/export_cs" for 127.0.0.1 at 2019-12-17 11:31:26 -0200
Processing by CompanyController#export_cs as HTML
<%= link_to( 'Export CSV', companies_export_csv_path(format: "csv", { :class => "btn-ex" } ) %>
<%= link_to( 'Export' ,{ :controller => :company, :action => :export_csv, format: 'csv', :company_id => @company.id}, { :class => "btn-edit" } ) %>