2014-09-21 38 views
6

我'尝试轨-API宝石用的JBuilder和我似乎无法使它发挥作用Jbuilder的不是宝石轨-API工作

这里是我的Rails的API控制器/ JBuilder中的示例视图

的Gemfile

gem 'jbuilder' 

控制器应用程序/控制器/ users_controller.rb

def show 
    @user = User.find_by(id: params[:id]) 
end 

查看应用程序/视图/使用rs/show.json.builder

json.content format_content(@user.id) 

根据Jbuilder文档,这应该工作正常,但仍然没有返回。

感谢您的帮助!

+0

因为我发现在这个问题上我刚刚离开轨道的API没有正确答案,并建立了自己的API,从一个全新的Rails应用程序。现在一切都很好。 – C404 2014-09-24 23:47:31

回答

18

我知道原来的问题可能已经解决了。不过,我遇到了同样的问题,最终找到了答案。

由于rails-api被剥离了一些rails的版本,所以缺少一些功能(在这种情况下隐式地重构视图),我们需要明确地添加它们。

简单的办法是ActionController的:: ImplicitRender添加到ApplicationController中

# app/controllers/application_controller.rb 
class ApplicationController < ActionController::API 
    include ActionController::ImplicitRender 
end 
+1

在Rails 5中,您可能还需要添加'include ActionView :: Layouts' – mysmallidea 2016-03-16 21:21:02

+0

有关文档,请参阅https://github.com/rails-api/rails-api。 – mysmallidea 2016-03-16 21:21:32

0

看来你错误地命名了你的jbuilder视图。
它应该是app/views/users/show.json.jbuilder而不是app/views/users/show.json.builder