在哪里存储jbuilder模板?

时间:2015-01-29 08:33:09

标签: ruby-on-rails

我试图使用jbuilder模板。

鉴于控制器,

class Api::ReviewsController < ApplicationController
  before_filter :authenticate_user!
  respond_to :json

  def create
    @review_request = ReviewRequest.new(review_request_params.merge(user_id: current_user.id))
    if @review_request.save
      render 'review_requests/review'
    else
      head :forbidden
    end
  end
end

我将jbuilder模板存储在app/views/review_requests/review.json.jbuilder

json.review_request do
  json.(@review_request, :title,)
end

我发现模板注释发现错误。

ActionView::MissingTemplate (Missing template review_requests/review with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in:
  * "/Users/jd/Dropbox/application-code/antipattern/app/views"
  * "/Users/jd/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/devise-3.4.1/app/views"
  * "/Users/jd/Dropbox/application-code/antipattern"
  * "/"
):
  app/controllers/api/reviews_controller.rb:8:in `create'

对于存储此模板的正确位置或者为什么导轨找不到我使用的模板(如果存储位置恰好是正常的)的任何想法?

1 个答案:

答案 0 :(得分:0)

jbuilder需要一个json类型的Web请求,对rails服务器的html请求将导致jbuilder模板无法呈现。