JBuilder中未定义的局部变量或方法“json”

Posted

技术标签:

【中文标题】JBuilder中未定义的局部变量或方法“json”【英文标题】:undefined local variable or method `json' in JBuilder 【发布时间】:2013-01-08 21:08:00 【问题描述】:

当我尝试获取所有类别(索引操作)时出现错误:

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/categories/index.json.builder:1:in_app_views_categories_index_json_builder___502133872307116590_70140532925300' actionpack (3.2.11) lib/action_view/template.rb:145:inblock in render' activesupport (3.2.11) lib/active_support/notifications.rb:125:in instrument' actionpack (3.2.11) lib/action_view/template.rb:143:inrender'

【问题讨论】:

堆栈跟踪和您的 index.json.jbuilder 可能会有所帮助 index.json.jbuilder 为空。 【参考方案1】:

您也可以将其重命名为 index.json.jpbuilder 并使用此 gem:https://github.com/bigjason/jpbuilder(如果您想要 JSONP)

【讨论】:

【参考方案2】:

尝试将您的文件 index.json.builder 重命名为 index.json.jbuilder

【讨论】:

我还必须重新启动服务器。 我这样做并重新启动了我的服务器,但仍然有问题。 这个文件在哪里?到处都找不到。如果我找不到原件,如何获得另一个? 我也是盲人,可能很笨。 .builder 更改为.jbuilder 有效。谢谢

以上是关于JBuilder中未定义的局部变量或方法“json”的主要内容,如果未能解决你的问题,请参考以下文章

使用 Jbuilder(或其他)的 Rails JSON API 布局

如何使用 Jbuilder & Rails 生成自定义 json 响应

如何在 Jbuilder 中使用带有 Gon gem 的 Rails 助手?

如何在 jbuilder 中将一个部分渲染两次?

类中未定义的函数或变量

NameError(未定义的局部变量或方法 `devise_parameter_sanitizer'