我有一个show.json.rabl
用于控制器的show动作,在我的Rails应用程序中渲染出一些JSON,我认为edit
动作的JSON响应与我的显示没有什么不同,所以我想知道是否有一种方法可以使用show.json.rabl
进行edit
操作。
我知道我可以在我的users/show
中使用“扩展edit.json.rabl
,但是如果我想完全摆脱edit.json.rabl
并且在控制器中有一行指定这个action的json响应应该使用show action的rabl模板。可以这样做吗?
谢谢
答案 0 :(得分: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!):
答案 1 :(得分:0)
我不知道是否有更好的方法,但你可以直接用Rabl
渲染JSONrender :inline => Rabl::Renderer.json(@user, 'users/show')