Ruby on rails json格式的Rails 3路由不工作

Ruby on rails json格式的Rails 3路由不工作,ruby-on-rails,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3.1,我有一条路线需要这样打电话: /images/get_subcollections.json?id=1234 我的路由文件中有以下内容: resources :images do collection do get 'get_subcollections' end end 我的控制器中有: def get_subcollections collection = Collection.find(params[:id]) respond_to do

我有一条路线需要这样打电话:

/images/get_subcollections.json?id=1234
我的路由文件中有以下内容:

resources :images do
    collection do
      get 'get_subcollections'
    end
  end
我的控制器中有:

def get_subcollections
    collection = Collection.find(params[:id])
    respond_to do |format|
      format.json { render :layout =>  false, :json => collection.to_json(:methods=>:get_subcollections) }
    end
  end

当我调用URL时,应用程序就在那里。请求未被记录或其他任何内容。有什么想法吗?谢谢

您是否使用firebug或chrome的开发工具检查了响应?正是布局:false阻止了你看到任何东西吗?

不确定这与你的问题有关,但在
收集
路线上有一个
id
参数有点奇怪。最好使用
collection\u id
来明确它不是
图像
记录的id。谢谢。我将路由更改为在URL中具有id(而不是查询字符串)的匹配路由,这样效果更好。我不确定我是否可以在id的末尾使用.json(而不是操作),但看起来我可以。嗯。。在路由中使用
match
硬编码查询字符串并不是一个好主意。如果您添加了其他参数,而有人将查询参数按不同的顺序放置,他们将得到一个错误。我想在URL末尾硬编码“json”与实际的
“format=json”
不对应。您需要做的是在URL中发送一个参数
“?format=json”
,并告诉我它现在是否工作?