使Jbuilder与Rails 5 API模式一起工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使Jbuilder与Rails 5 API模式一起工作相关的知识,希望对你有一定的参考价值。
我想在API模式下使用Jbuilder和Rails 5.0.0.beta1.1。开箱即用,即使在创建app / views目录时它也不起作用。
例如,我有:
# app/controllers/tests_controller.rb
class TestsController < ApplicationController
# The requests gets inside the action
def test
end
end
# app/views/tests/test.json.jbuilder
json.test "It works!"
我得到的错误是
No template found for TestsController#test, rendering head :no_content
我想我必须改变配置文件中的一些东西。我需要做什么?
答案
像这样从控制器做一个显式渲染:
render 'controller_name/action.json.jbuilder'
另一答案
使用API模式。
你需要包括像波纹管一样的模块
class ApplicationController < ActionController::API
include ActionController::ImplicitRender # if you need render .jbuilder
include ActionView::Layouts # if you need layout for .jbuilder
end
另一答案
我得到了同样的错误,但在我的情况下,我只是忘了在Gemfile中添加jbuilder gem:
gem 'jbuilder', '~> 2.5'
以上是关于使Jbuilder与Rails 5 API模式一起工作的主要内容,如果未能解决你的问题,请参考以下文章
在 Rails 4 中用于 JSON 处理的 jbuilder vs rails-api/active_model_serializers
如何在 Jbuilder 中使用带有 Gon gem 的 Rails 助手?
为啥 Rails 找不到我的 jbuilder 模板或不渲染它?