0

如何实现在轨以下路由:格式相关的轨道路线

  • 请求是否需要html,比路线的具体行动,让我们说申请#指数

  • 中的情况下,一个json格式请求,路线资源只是正常地动作,其产生所需的json

很显然,这是一个单页应用程序的用例,其中rails主要仅用于服务json s。大多数页面都是非常简单的布局,其中一些值已被引导。

感谢提示。

回答

1

这个问题在Rails中解决的方式可以通过一个单独的操作在控制器中处理。在路由文件,你会刚刚宣布的资源:

resources :posts 

而控制器是这样的:

def index 
    @posts = Post.all 

    respond_to do |format| 
    format.html # index.html.erb 
    format.json { render :json => @posts } 
    end 
end 

正如你所看到的,反应的类型取决于请求的类型。

但是,如果你真的按照类型要路由我想你可以尝试这样的事:

match 'posts/:id.:format' => 'posts#html_respond', :constraints => {:format => "html"} 
match 'posts/:id.:format' => 'posts#json_respond', :constraints => {:format => "json"}