Rails控制器别名

时间:2012-02-12 20:00:20

标签: ruby-on-rails-3

假设我们有一个名为City的脚手架。您可以在其中添加和删除城市。

现在我想要一个名为/ ajax / city的控制器,其中只提供json,现在有更简单的方法吗?

现在,我只是复制并粘贴City控制器并将命名空间重命名为Ajax :: City。

现在的想法是保持主命名空间干净,并且我已经从主命名空间路由中禁用了json。

1 个答案:

答案 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