レールについて本当に基本的な質問があります-解決策をインターネットで探すのに何時間も費やしました-しかし解決策を見つけることができません。
リンクをクリックするだけでメソッドを呼び出す必要があります。
アイデアは、コントローラーのメソッドによって生成されたxmlファイルをエクスポートする必要があるということです。
firms_controller.rb(抜粋)
.....def xml
@entries = Entry.find(:all)
send_data @entries.to_xml,
:type => 'text/xml; charset=UTF-8;',
:disposition => "attachment; filename=entries.xml"
end....
会社のビューページからこのメソッドを呼び出してxmlファイルをダウンロードする必要がありますが、それを機能させることができません。XMLコードは機能します-コントローラーのindexメソッドに追加すると、問題なく機能します。
これは私がいくつかのオンライン記事を読んだ後にリンクを機能させることを試みたいくつかの方法です。
<% url = url_for({:action => "xml", :controller => 'firms'}.merge(params)) %>
<%= link_to "XML", url %>
試した最も基本的な方法
<%= link_to "XML", :action => 'xml' %>
非常に単純なはずの何かのように思えますが、それを機能させることはできません。
私が得ているエラー:
ActiveRecord::RecordNotFound in FirmsController#show
Couldn't find Firm with ID=xml
Rails.root: /home/james/rails/KPSmart
Application Trace | Framework Trace | Full Trace
app/controllers/firms_controller.rb:25:in `show'
firms_controllerのshowメソッド
def show
@firm = Firm.find(params[:id])
end
ルートをいじって、無駄に動作させるようにしました。
ご協力いただきありがとうございます