我要求提供JS文件的奇怪问题,但Rails正在提供HTML文件。它只在我的登台服务器(Heroku)上,而不在我的本地机器上。
我有一个动态的Javascript文件,需要通过脚本包含在其他页面中,以便这样:
<script type="text/javascript" src="http://example.com/embed.js></script>
将地图嵌入到控制器和处理HTML的操作中。相关路线如下:
match "/embed(.:format)" => "articles#embed", as: "embed"
控制器动作非常标准。
def embed
respond_to do |format|
format.html do
#it renders some HTML
end
format.js #no block is given
end
end
而且,我在app / views / articles
下有两个观点在我的本地计算机上,请求localhost:3000 / embed.js正常工作。它呈现Javascript没有问题。但是,在我的登台服务器上,这是我在日志中看到的内容:
Started GET "/embed.js" for 124.168.219.36 at 2012-11-04 00:23:01 +0000
Processing by ArticlesController#embed as JS
Rendered articles/embed.html.haml (1.5ms)
Completed 500 Internal Server Error in 2ms
内部服务器错误不是问题。问题是它将请求识别为JS,但决定在登台时呈现HTML模板和仅。
发生了什么事?