"NoMethodError: undefined method `object' for #<Tenant:blahblah>" Error
"NoMethodError: undefined method `object' for #<Tenant:blahblah>" Error
您好,我遇到了 "NoMethodError: undefined method `information_requisition' for #" 错误,我似乎无法将此模型与我的用户相关联。我的 information_requisition 模型代码是:
class InformationRequisition
include Mongoid::Document
belongs_to :user
belongs_to :admin
has_many :reports
我的用户模型是:
class User
include Mongoid::Document
mount_uploader :avatar, AvatarUploader
has_one :report,
has_many :information_requisitions, dependent: :destroy
has_many :admin
has_one :bill, dependent: :destroy
当我尝试在仪表板上部分显示创建表单时,我不断收到错误消息。这是我的仪表板控制器上显示错误的地方:
class Tenants::DashboardsController < 应用程序控制器
before_filter :authenticate_tenant!
def show
@dashboard = current_user
@bill = current_user.bill || current_user.build_bill
@information_requisition = current_user.information_requisition || current_user.build_information_requisition
end
我的information_requisition好像与用户无关。它一直给我 "NoMethodError: undefined method `information_requisition' for #" 错误。知道我做错了什么吗?
A current_user
只能访问 information_requisitions
(复数),因为它是一个 has_many
关联。
如果 @information_requisition
是单数,您必须在复数后添加 .first
以获得第一个。但我猜你真的想使用 first_or_initialize
:
def show
@dashboard = current_user
@bill = current_user.bill || current_user.build_bill
@information_requisition = current_user.information_requisitions.first_or_initialize
end
您好,我遇到了 "NoMethodError: undefined method `information_requisition' for #" 错误,我似乎无法将此模型与我的用户相关联。我的 information_requisition 模型代码是:
class InformationRequisition
include Mongoid::Document
belongs_to :user
belongs_to :admin
has_many :reports
我的用户模型是:
class User
include Mongoid::Document
mount_uploader :avatar, AvatarUploader
has_one :report,
has_many :information_requisitions, dependent: :destroy
has_many :admin
has_one :bill, dependent: :destroy
当我尝试在仪表板上部分显示创建表单时,我不断收到错误消息。这是我的仪表板控制器上显示错误的地方:
class Tenants::DashboardsController < 应用程序控制器 before_filter :authenticate_tenant!
def show
@dashboard = current_user
@bill = current_user.bill || current_user.build_bill
@information_requisition = current_user.information_requisition || current_user.build_information_requisition
end
我的information_requisition好像与用户无关。它一直给我 "NoMethodError: undefined method `information_requisition' for #" 错误。知道我做错了什么吗?
A current_user
只能访问 information_requisitions
(复数),因为它是一个 has_many
关联。
如果 @information_requisition
是单数,您必须在复数后添加 .first
以获得第一个。但我猜你真的想使用 first_or_initialize
:
def show
@dashboard = current_user
@bill = current_user.bill || current_user.build_bill
@information_requisition = current_user.information_requisitions.first_or_initialize
end