簡體   English   中英

ActionView::Template::Error (nil:NilClass 的未定義方法 `klass')

[英]ActionView::Template::Error (undefined method `klass' for nil:NilClass)

在使用與訂閱相關的過濾器時,我收到以下錯誤 -

ActionView::Template::Error (undefined method `klass' for nil:NilClass):
    1: insert_tag renderer_for(:index)

這是用戶 model -

has_one :owned_account, class_name: 'Account'
has_one :owned_subscription, through: :owned_account, source: :subscription

這是訂閱 model -

belongs_to :account
has_one :owner, through: :account, source: :user

這是帳戶 model -

belongs_to :user
has_one :subscription, dependent: :destroy

有誰知道如何解決它? 任何幫助將非常感激。

編輯 - 這是錯誤的完整痕跡

ActionView::Template::Error (undefined method `klass' for nil:NilClass):
    1: insert_tag renderer_for(:index)
  activerecord (4.2.11.3) lib/active_record/reflection.rb:671:in `source_reflection'
  activerecord (4.2.11.3) lib/active_record/reflection.rb:640:in `foreign_key'
  activeadmin (1.2.1) lib/active_admin/filters/active_filter.rb:119:in `block in find_predicate_association'
  activeadmin (1.2.1) lib/active_admin/filters/active_filter.rb:119:in `each'
  activeadmin (1.2.1) lib/active_admin/filters/active_filter.rb:119:in `detect'
  activeadmin (1.2.1) lib/active_admin/filters/active_filter.rb:119:in `find_predicate_association'
  activeadmin (1.2.1) lib/active_admin/filters/active_filter.rb:110:in `predicate_association'
  activeadmin (1.2.1) lib/active_admin/filters/active_filter.rb:92:in `find_class'
  activeadmin (1.2.1) lib/active_admin/filters/active_filter.rb:16:in `initialize'
  activeadmin (1.2.1) lib/active_admin/filters/active.rb:23:in `new'
  activeadmin (1.2.1) lib/active_admin/filters/active.rb:23:in `block in build_filters'
  activeadmin (1.2.1) lib/active_admin/filters/active.rb:23:in `map'
  activeadmin (1.2.1) lib/active_admin/filters/active.rb:23:in `build_filters'
  activeadmin (1.2.1) lib/active_admin/filters/active.rb:17:in `initialize'
  activeadmin (1.2.1) lib/active_admin/filters/active_sidebar.rb:13:in `new'
  activeadmin (1.2.1) lib/active_admin/filters/active_sidebar.rb:13:in `block in block'
  activeadmin (1.2.1) lib/active_admin/views/components/sidebar_section.rb:28:in `instance_exec'
  activeadmin (1.2.1) lib/active_admin/views/components/sidebar_section.rb:28:in `build_sidebar_content'
  activeadmin (1.2.1) lib/active_admin/views/components/sidebar_section.rb:16:in `build'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:30:in `block in build_tag'
  arbre (1.4.0) lib/arbre/context.rb:93:in `with_current_arbre_element'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:49:in `with_current_arbre_element'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:26:in `build_tag'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:39:in `insert_tag'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:14:in `sidebar_section'
  activeadmin (1.2.1) lib/active_admin/views/pages/base.rb:132:in `block (2 levels) in build_sidebar'
  activeadmin (1.2.1) lib/active_admin/views/pages/base.rb:131:in `collect'
  activeadmin (1.2.1) lib/active_admin/views/pages/base.rb:131:in `block in build_sidebar'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:31:in `block in build_tag'
  arbre (1.4.0) lib/arbre/context.rb:93:in `with_current_arbre_element'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:49:in `with_current_arbre_element'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:26:in `build_tag'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:39:in `insert_tag'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:14:in `div'
  activeadmin (1.2.1) lib/active_admin/views/pages/base.rb:130:in `build_sidebar'
  activeadmin (1.2.1) lib/active_admin/views/pages/base.rb:78:in `block in build_page_content'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:31:in `block in build_tag'
  arbre (1.4.0) lib/arbre/context.rb:93:in `with_current_arbre_element'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:49:in `with_current_arbre_element'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:26:in `build_tag'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:39:in `insert_tag'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:14:in `div'
  activeadmin (1.2.1) lib/active_admin/views/pages/base.rb:76:in `build_page_content'
  activeadmin (1.2.1) lib/active_admin/views/pages/base.rb:54:in `block (2 levels) in build_page'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:31:in `block in build_tag'
  arbre (1.4.0) lib/arbre/context.rb:93:in `with_current_arbre_element'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:49:in `with_current_arbre_element'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:26:in `build_tag'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:39:in `insert_tag'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:14:in `div'
  activeadmin (1.2.1) lib/active_admin/views/pages/base.rb:50:in `block in build_page'
  arbre (1.4.0) lib/arbre/context.rb:93:in `with_current_arbre_element'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:49:in `with_current_arbre_element'
  activeadmin (1.2.1) lib/active_admin/views/pages/base.rb:49:in `build_page'
  activeadmin (1.2.1) lib/active_admin/views/pages/base.rb:10:in `build'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:30:in `block in build_tag'
  arbre (1.4.0) lib/arbre/context.rb:93:in `with_current_arbre_element'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:26:in `build_tag'
  arbre (1.4.0) lib/arbre/element/builder_methods.rb:39:in `insert_tag'

不確定錯誤,但在訂閱subcription中,不應該是belongs_to owner 在下面的鏈接中,更多關於 nil:NilClass 的未定義方法 'klass' 的關聯問題

參考: https://github.com/thoughtbot/should-matchers/issues/611

暫無
暫無

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

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