这可能是一个非常简单的问题,但这正是我注意到的困扰我的问题。
我正在尝试从我的 Controller 的一个方法中呈现 JSON,但它给了我一个“undefined method ‘new’ for nil:NilClass”错误。
这是导致问题的代码:
def index
@users = User.all
render json: @users
end
我注意到当我尝试只将一个对象呈现给 JSON 时,一切正常:
def show
@user = User.find(params[:id])
render json: @user
end
或者当我在@users 对象上调用 to_json
时:
def index
@users = User.all
render json: @users.to_json
end
我的印象是调用 render json:
无论如何都会隐式调用 to_json
,那么为什么调用两次可以解决我的问题?
最佳答案
我认为这是一个问题,因为 @users
是一个对象数组,需要先转换每个对象,然后再重新组装整个数组并输出为 JSON。
关于ruby-on-rails - 为多个 Rails 对象呈现 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30816201/