您好我遇到错误" NoMethodError:未定义的方法`information_requisition'为#"我似乎无法将此模型与我的用户联系起来。我的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
当我尝试在仪表板上的部分显示创建表单时,我不断收到错误。这是我的仪表板控制器上显示的错误:
类租户:: DashboardsController< ApplicationController的 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:未定义的方法`information_requisition'为#"错误。知道我错了吗?
答案 0 :(得分:1)
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