假设我们有一个名为City的脚手架。您可以在其中添加和删除城市。
现在我想要一个名为/ ajax / city的控制器,其中只提供json,现在有更简单的方法吗?
现在,我只是复制并粘贴City控制器并将命名空间重命名为Ajax :: City。
现在的想法是保持主命名空间干净,并且我已经从主命名空间路由中禁用了json。
答案 0 :(得分:0)
拥有一个名为ajax / city的路径并不是执行此操作的标准方法。 它不会直接回答您的问题,但您通常会使用相同的控制器来提供JSON。
例如,您将通过/cities.json接收json或使用/cities/1.json接收特定的json。在执行Ajax请求时,如果您执行以下操作,则会自动提供此服务而不使用扩展名。
respond_to do |format|
format.html
format.json {
render :json => @cities
}
end