我有一個當有人單擊超鏈接下載文件時觸發的路由。缺少特定功能的模板錯誤 - 其他工作正常
我的路線:
'/document/download_some_file/' => 'documents#download_some_file'
我的控制器:
def download_some_file
content = 'hello world'
send_data content, :filename => 'some_file.dat'
# if I comment out the above line (send_data) I get a missing template error
# if I name this function anything other than download_xyz I get a missing template error
end
這工作得很好。不過我還有一個超級鏈接:
'/document/refresh_files/' => 'documents#refresh_files'
然後
def refresh_files
#stuff here
#this throws a missing template error
#if I rename this to download_xyz it works fine
end
所以......這是怎麼回事這裏到底是什麼?我展示的第一個功能(download_some_file)確實正常工作。
refresh_files是我正在嘗試解決的問題。它應該只是調用Documents控制器內的另一個函數。即使我只是做了一個puts
我收到一個模板錯誤。
根據[docs](http://apidock.com/rails/ActionController/Streaming/send_data),'send_data'正在渲染數據,所以Rails不希望渲染視圖。另請參見[本指南]的第12部分(http://edgeguides.rubyonrails.org/action_controller_overview.html)。除非你明確地像這樣渲染,否則Rails會爲每個控制器操作指定一個相應的視圖並隱式渲染它。您可以自定義渲染的內容(更多詳細信息,請參見[本指南](http://guides.rubyonrails.org/layouts_and_rendering.html))。 –