ボタンをクリックして表示されたWebページを保存しようとしています(ブラウザの「名前を付けて保存」ボタンをクリックしたときと同じです)が、このエラーを理解できません:
Missing template shipments/save_page_xls, application/save_page_xls with {:locale=
[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee, :haml]}. Searched i
n: * "/home/andres/Documents/Aptana Studio 3 Workspace/EcuadorCargo/app/views" * "
/var/lib/gems/1.9.1/gems/devise-2.1.2/app/views" * "/var/lib/gems/1.9.1/gems/twitt
er-bootstrap-rails-2.1.1/app/views"
問題は、レンダー関数がコントローラーにあってはならないこと、またはレンダー関数が適切なレイアウト ファイルを見つけられないことだと思います。私はこのページレールに基づいています :「ページを名前を付けて保存」動作をエミュレートします
表示 (haml):
= link_to "Save as XLS", save_page_xls_shipments_path, :class => 'btn btn-primary'
コントローラ ファイル:
class ShipmentsController < ApplicationController
def save_page_xls
#this is the magic line!
send_data(render, :filename => "archivo.xls")
end
end
ルート:
resources :shipments, :only => :index do
collection do
get 'save_page_xls'
end
end