帮助!当我在Ruby on Rails应用程序(使用PostgreSQL)上执行简单的GET请求时,我一直收到这个错误:
"status": 500,
"error": "Internal Server Error",
"exception": "#<TypeError: nil is not a symbol nor a string>",
"traces": {
"Application Trace": [
{
"exception_object_id": 26620,
"id": 54,
"trace": "app/controllers/recipes_controller.rb:4:in `index'"
}
],
它适用于我的UsersGET请求,但不适用于RecipesGET请求。以下是我的食谱资源的更多信息:
配方模式:
create_table "recipes", force: :cascade do |t|
t.string "title"
t.string "image"
t.string "link"
t.string "cuisine"
t.string "ingredients"
t.string "date"
t.boolean "favorite"
t.boolean "try"
t.boolean "made"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
配方控制器:
class RecipesController < ApplicationController
def index
render json: Recipe.all, status: :ok
end
end
配方序列化程序:
class RecipeSerializer < ActiveModel::Serializer
attributes :id, :title, :image, :link, :cuisine, :ingredients, :date, :favorite, :try, :made
end
路线:
Rails.application.routes.draw do
resources :recipes
resources :users
end
这很奇怪,因为我已经做了几个类似的项目,它们使用了几乎相同的后端格式/数据,只是这个特定的项目不起作用。我对软件工程还是相当陌生的,所以任何帮助都很感激。非常感谢。
我试着研究一下这可能是一个布尔问题,但并不完全确定。
它可能是名为:try
的布尔字段
可以尝试更长的名称,例如
is_favorite
wants_to_try / has_tried
has_made