web-dev-qa-db-ja.com

JBuilderの未定義のローカル変数またはメソッド `json '

すべてのカテゴリを取得しようとすると(インデックスアクション)、エラーが発生します:

_undefined local variable or method `json'
_

しかし、ショーアクションではすべてがうまくいきます。すべてのファイルの拡張子は.jbuilderです。コントローラコードは次のとおりです。

_def index
  @categories = Category.all
end

# GET /categories/1
# GET /categories/1.json
def show
  @category = Category.find(params[:id])
end
_

スタックトレース:

app/views/category/index.json.builder:1:in_app_views_categories_index_json_builder___502133872307116590_70140532925300' actionpack (3.2.11) lib/action_view/template.rb:145:in block in render '
activesupport(3.2.11)lib/active_support/notifys.rb:125:in _instrument'
actionpack (3.2.11) lib/action_view/template.rb:143:in
_ render '

28
Meliborn

ファイルの名前を変更してみてくださいindex.json.builderからindex.json.jbuilder

87
wedy

名前をindex.json.jpbuilderに変更して、次のgemを使用することもできます: https://github.com/bigjason/jpbuilder (JSONPが必要な場合)

0
Caleb