我已经开始跑步了。
我在路线中有这个:
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')
这有可能吗?
您可以通过更改控制器中的请求格式来强制响应为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