2012-10-24 73 views
3

我有這個show.json.rabl爲控制器的顯示動作渲染出我的Rails應用程序中的一些JSON,我認爲edit行動的JSON響應沒有不同於我的顯示一個,所以我想知道是否有對0123'操作使用show.json.rabl的方法。rabl重用模板

我知道我可以在我的edit.json.rabl使用「延長users/show,但如果我想獲得完全擺脫edit.json.rabl並在指定這一行動的JSON響應應該使用show動作的Rabl的模板控制線的東西。能這樣做嗎?

謝謝

+0

你可以嘗試在你的控制器的'def edit'中添加'render:show'嗎? –

回答

0

我不知道是否有更好的方法,但你可以直接與Rabl的渲染JSON

render :inline => Rabl::Renderer.json(@user, 'users/show') 
1

如果您正在使用Rabl的> =「0.11.6」,你就必須提供view_path參數(即如果它尚未在全球範圍內的rabl.rb配置文件中設置),像這樣:

render :inline => Rabl::Renderer.json(@user, 'users/show', :view_path => 'app/views') 

否則你會得到以下錯誤:

RuntimeError (Cannot find rabl template 'users/show' within registered ([]) view paths!):