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”
,并告诉我它现在是否工作?