2013-10-26 35 views
0

Rails默认脚手架包含允许您发布API的方法,允许用户通过HTML和JSON与相同的控制器进行交互。Rails 4 API版本建议练习

生成与bodyurlrails generate scaffold products body:string url:string产品模型的新支架将使类似:

# GET /products 
# GET /products.json 
def index 
    @products = Product.all 
end 

,并产生既是一个HTML视图,但也index.json.jbuilder

json.array!(@products) do |product| 
    json.extract! product, :body, :url 
    json.url product_url(product, format: :json) 
end 

Rails是明确自动生成所有的代码,让我们将这个模型作为一个API公开,并提供我们的标准HTML接口。

我的问题(S)是:

  • 什么是推荐的做法版本是这样的?
  • 这种暴露API的方法真的是预期的做法吗?
  • 我发现的所有其他资源都建议使用单独的名称空间控制器来公开API操作,那么为什么要在默认设置中公开JSON和HTML?

回答