有一个关于 Rails 的非常基本的问题 - 花了几个小时在互联网上寻找解决方案 - 但找不到解决方案。
我只需要在点击链接时调用一个方法。
这个想法是我需要导出一个由控制器中的方法生成的 xml 文件。
公司控制器.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'
在公司控制器中显示方法
def show
@firm = Firm.find(params[:id])
end
尝试弄乱路线以使其无法正常工作。
谢谢你的帮助