我已经开始跑步了。
我在路线上有这个
get 'biblios/collection/:biblio_urn' => 'biblios#biblio_rabl', as: 'collection_biblio'
在控制器中:
def biblio_rabl
biblio = Biblio.where(biblio_urn: params[:biblio_urn]).take
end
此网址指向正确的结果:
http://localhost:3000/dts/biblios/collection/urn:cts:froLit:ed_desmarez:1900
我希望该网址始终使用rabl并显示模板dts/biblios/biblio_rabl.json.rabl
我的意思是在网址末尾没有添加.json 。
我已经在routes.rb
中尝试过此操作,但它不会重定向:
get 'biblios/collection/:biblio_urn' => 'biblios#biblio_rabl', as: 'collection_biblio', to: redirect('biblios/collection/%{biblio_urn}.json')
那有可能吗?
答案 0 :(得分:1)
您可以通过更改控制器中的请求格式来将响应强制为json:
request.format = :json
然后确保您有一个respond_to
块,因为这样最好始终明确您的回答:
def biblio_rabl
respond_to do |format|
format.json { json: Biblio.where(biblio_urn: params[:biblio_urn]).take }
end
end