我有一个与这个问题中提到的问题非常相似的问题。但是,答案中描述的解决方案都不起作用。
当尝试访问我的路由时,无论有无.json
扩展,以及使用 jQuery$.ajax
和$.getJSON
(使用正确的 Accept 标头),我收到以下异常:
缺少模板用户/事件/索引、应用程序/索引与 {:handlers=>[:erb, :builder, :coffee, :haml], :formats=>[:json], :locale=>[:en, :en ]}。
因为我只需要这个控制器的 JSON 响应,所以我没有也不想要这个控制器的任何模板。
我的控制器定义如下:
class Users::EventsController < ApplicationController
respond_to(:json)
def index
# Some extra code here...
respond_with(@data)
end
end
有了这些路线(在“用户”范围内):
resources(:events, :only => [:index, :show]) do
collection do
get ':year/:month', :to => 'events#index', :format => :json
end
end
do |format|
添加块并明确使其呈现为 JSON时,问题仍然存在。
在 Rails 3.1.1 和 3.2 上都试过这个,得到了同样的问题。
它看起来像一个服务器端问题,因为使用“.json”访问不起作用。我错过了什么?