2010-09-10 45 views
2

加載與機架一個文件,並試圖在一個特定的路線被稱爲機架採用加載一個靜態文件:從我下面這個Railscast的一部分特定路由

match "/myApi.js" => lambda { |env| [200, {}, Rack::File.new("/v1/myApi.js")] } 

不管我做什麼,甚至如果我只是試圖通過發送一個字符串:

match "/myApi.js" => lambda { |env| [200, {}, "Hello World"] } 

我仍然收到:

NoMethodError 

undefined method `body' for #<Rack::File:0x00000101edcea0 @root="/my/path"> 

我怎樣才能使一個靜態文件使用機架?

回答

1

嘗試將該文件放入您的<rails-root>/public/目錄中。默認情況下,Rails應用程序將提供該目錄中的任何文件。 EG與新的Rails應用程序,你可以去http://localhost:3000/index.html,它會提供public/index.html。把你的api.js文件放在那裏,你也可以做同樣的事情。

相關問題