簡體   English   中英

外鍵關系中的 Active Admin No Method 錯誤

[英]Active Admin No Method error in foreign key relationship

我第一次使用 Active Admin 制作筆記應用程序,我遇到了一個讓我感到困惑的錯誤,因為關系存在,就我在架構中看到的而言,我的遷移存在。 我目前有 2 個模型Notebelongs_to ContentContent has_many :notes 我正在嘗試為 Contents 自定義我的節目,因此它會以不同的方式顯示,如下所示,但我一直收到沒有方法錯誤的notes ,這種關系存在並且應該可以工作,因為它是兩個表之間的外鍵?

class Note < ApplicationRecord
  belongs_to :content
end
class Content < ApplicationRecord
    has_many :notes
end
ActiveAdmin.register Content do
    permit_params :name, note_ids: []

show title: 'Test' do
    h3 'You have ' + pluralize(content.notes.count, 'note') + ' referencing ' + `#{content.name}`
end
ActiveRecord::Schema.define(version: 2021_05_06_140826) do

  # These are extensions that must be enabled in order to support this database
  enable_extension "plpgsql"

  create_table "active_admin_comments", force: :cascade do |t|
    t.string "namespace"
    t.text "body"
    t.string "resource_type"
    t.bigint "resource_id"
    t.string "author_type"
    t.bigint "author_id"
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
    t.index ["author_type", "author_id"], name: "index_active_admin_comments_on_author_type_and_author_id"
    t.index ["namespace"], name: "index_active_admin_comments_on_namespace"
    t.index ["resource_type", "resource_id"], name: "index_active_admin_comments_on_resource_type_and_resource_id"
  end

  create_table "admin_users", force: :cascade do |t|
    t.string "email", default: "", null: false
    t.string "encrypted_password", default: "", null: false
    t.string "reset_password_token"
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
    t.index ["email"], name: "index_admin_users_on_email", unique: true
    t.index ["reset_password_token"], name: "index_admin_users_on_reset_password_token", unique: true
  end

  create_table "contents", force: :cascade do |t|
    t.string "name"
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
  end

  create_table "notes", force: :cascade do |t|
    t.string "title"
    t.text "body"
    t.bigint "content_id", null: false
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
    t.index ["content_id"], name: "index_notes_on_content_id"
  end

  add_foreign_key "notes", "contents"
end

無方法錯誤

您確定內容是 ActiveRecord object 嗎? 它看起來像是 ActiveSupport SafeBuffer 的實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM