我试图使用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'
对于存储此模板的正确位置或者为什么导轨找不到我使用的模板(如果存储位置恰好是正常的)的任何想法?
答案 0 :(得分:0)
jbuilder需要一个json类型的Web请求,对rails服务器的html请求将导致jbuilder模板无法呈现。