Rails アプリケーションで AJAX 検索を実行しています。コントローラーからのコードは次のとおりです。
def show
@website = Website.find(params[:id])
if (current_user.id != @website.user_id)
redirect_to root_path
flash[:notice] = 'You are not owner!'
end
if params[:report] && params[:report][:start_date] && params[:report][:end_date]
@performance_reports = @website.performance_reports.where("created_at between ? and ?", params[:report][:start_date].to_date, params[:report][:end_date].to_date)
else
@performance_reports = @website.performance_reports
end
しかし、Excel ドキュメントを生成しようとすると、URL にパラメーターがないため、常にパラメーターなしでブランチに移動します。
一人の男が私にこの投稿を使うことを勧めました. 実装しようとしましたが、できませんでした。
この投稿を十分に理解していません。データがどこに渡されているのかわかりません(スプレッドシートの宝石)
コードは次のとおりです。
def export
@website = Website.last
@data = @website.performance_reports
report = Spreadsheet::Workbook.new
spreadsheet = StringIO.new
contruct_body(spreadsheet, @data)
report.write spreadsheet
send_data spreadsheet.string, :filename => "yourfile.xls", :type => "application/vnd.ms-excel"
end
そして、それは私にエラーを与えます:
undefined method `contruct_body'
ビューからのコード:
<%= form_tag( url_for, :method => :get, :id => "report") do%>
...show action posted above...
<% end %>
<%= link_to export_path do%>
<b>Export</b>
<% end %>
...working code without AJAX...
<%= link_to url_for(request.parameters.merge({:format => :xls})) do%>
<b>Export</b>
<% end %>
どこが間違っているか教えてください。