Ruby on rails 4 Jbuilder不使用gem rails api
我正在用jbuilder尝试rails api gem,但我似乎无法让它工作 下面是我的rails api控制器/jbuilder视图示例 GemfileRuby on rails 4 Jbuilder不使用gem rails api,ruby-on-rails-4,jbuilder,rails-api,Ruby On Rails 4,Jbuilder,Rails Api,我正在用jbuilder尝试rails api gem,但我似乎无法让它工作 下面是我的rails api控制器/jbuilder视图示例 Gemfile gem 'jbuilder' 控制器应用程序/控制器/用户\u Controller.rb def show @user = User.find_by(id: params[:id]) end 查看app/views/users/show.json.builder json.content format_content(@user
gem 'jbuilder'
控制器应用程序/控制器/用户\u Controller.rb
def show
@user = User.find_by(id: params[:id])
end
查看app/views/users/show.json.builder
json.content format_content(@user.id)
根据Jbuilder文档,这应该可以正常工作,但仍然没有返回任何内容
谢谢你的帮助 您似乎将jbuilder视图命名错误。
它应该是
app/views/users/show.json.jbuilder
而不是app/views/users/show.json.builder
我知道原来的问题可能已经解决了。尽管如此,我还是遇到了同样的问题,最终找到了答案
由于rails api是rails的精简版,因此缺少一些功能(在本例中是视图的隐式呈现),我们需要显式添加它们
最简单的解决方案是将ActionController::ImplicitRender添加到ApplicationController
# app/controllers/application_controller.rb
class ApplicationController < ActionController::API
include ActionController::ImplicitRender
end
#app/controllers/application_controller.rb
类ApplicationController
因为我在这个问题上没有找到正确的答案,所以我就离开了rails api,从一个全新的rails应用程序中构建了自己的api。现在一切都很好。在Rails 5中,您可能还需要添加include ActionView::Layouts
另外,请确保取消Gemfile中的“gem'jbuilder'”注释!浪费了几个小时找这个(