使Jbuilder与Rails 5 API模式一起工作

问题描述 投票:9回答:3

我想在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

我想我必须改变配置文件中的一些东西。我需要做什么?

ruby-on-rails
3个回答
4
投票

像这样从控制器做一个显式渲染:

render 'controller_name/action.json.jbuilder'

0
投票

使用API​​模式。

你需要包括像波纹管一样的模块

class ApplicationController < ActionController::API
  include ActionController::ImplicitRender # if you need render .jbuilder
  include ActionView::Layouts # if you need layout for .jbuilder
end

0
投票

我得到了同样的错误,但在我的情况下,我只是忘了在Gemfile中添加jbuilder gem:

gem 'jbuilder', '~> 2.5'
© www.soinside.com 2019 - 2024. All rights reserved.