Tro*_*nic 39 rendering ruby-on-rails ruby-on-rails-3
我试着告诉rails 3.2默认情况下它应该呈现JSON,并完全像这样踢HTML:
respond_to :json
def index
@clients = Client.all
respond_with @clients
end
Run Code Online (Sandbox Code Playgroud)
使用此语法,我必须添加.json到URL.我怎样才能实现它?
rog*_*iog 77
您可以修改routes.rb文件以指定默认格式
的routes.rb
resources :clients, defaults: {format: :json}
Run Code Online (Sandbox Code Playgroud)
这将修改整个的默认响应格式 clients_controller
jdo*_*doe 10
如果您在索引操作中不需要RESTful响应,那么只需直接呈现您的xml响应:
def index
render json: Client.all
end
Run Code Online (Sandbox Code Playgroud)
如果要对两者使用相同的控制器操作,则此模式很有效.像往常一样制作网络版,使用:html作为默认格式.然后,将api塞在路径下并设置:json作为默认值.
Rails.application.routes.draw do
resources :products
scope "/api", defaults: {format: :json} do
resources :products
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24073 次 |
| 最近记录: |