인터넷에 대한 해결책을 찾기 위해 시간을 보냈지 만 해결책을 찾지 못하는 레일에 관한 기본적인 질문이 있습니다.레일 - 컨트롤러를 통해 링크를 통해 컨트롤러에 액세스하는 방법 알아보기
링크 클릭만으로 메소드를 호출하면됩니다.
아이디어는 컨트롤러의 메서드에 의해 생성 된 xml 파일을 내 보내야한다는 것입니다.
firms_controller.rb (exerpt)
.....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 코드가 작동합니다 - 컨트롤러의 인덱스 메서드에 추가하면 완벽하게 작동합니다.
일부 온라인 기사를 읽은 후 링크를 작동 시키려고 시도한 몇 가지 방법입니다. 하지만이 동작하지 않습니다 -
<% url = url_for({:action => "xml", :controller => 'firms'}.merge(params)) %>
<%= link_to "XML", url %>
는 가장 기본적인 방법은 매우 간단해야 뭔가처럼 날 것으로 보인다
<%= link_to "XML", :action => 'xml' %>
을 시도했다.
오류 나는 점점 오전 : firms_controller
def show
@firm = Firm.find(params[:id])
end
에서
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'
표시 방법은 아무 소용이 함께 작동하도록 얻을 수있는 경로 덤비는 노력했다. 당신의 도움이
이 당신의 제안을 시도 방법을 다음이 연결 쓰기보십시오 (하지만 URL은 http : // localhost : 3000/enterprises/xml? id = 1로 변경됩니다). 나는 모든 매개 변수를 전달할 필요가 없습니다. 모든 "매개 변수"를 반환해야합니다. 이 작업을 수행하는 더 쉬운 방법이 있습니까? 경로에 대해 권장 할만한 것이 있습니까? "3, XML <{"format"=> ["1 ", "2 "= ID와 기업 찾을 수 없습니다 : - – jmc