Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ActiveRecord::TicketController中的AssociationTypeMismatch#新建_Activerecord_Ruby On Rails 4 - Fatal编程技术网

ActiveRecord::TicketController中的AssociationTypeMismatch#新建

ActiveRecord::TicketController中的AssociationTypeMismatch#新建,activerecord,ruby-on-rails-4,Activerecord,Ruby On Rails 4,我有两个模型和控制器,一个用于用户,一个用于票据 每个用户可以有多张票。每个管理员用户(由Admin:true表示)可以分配许多票证给他们 以下是我的联想: class Ticket < ActiveRecord::Base belongs_to :sender, class_name: "User", foreign_key: "id", inverse_of: :sent_tickets belongs_to :admin, class_name: "User", foreig

我有两个模型和控制器,一个用于用户,一个用于票据

每个用户可以有多张票。每个管理员用户(由
Admin:true
表示)可以分配许多票证给他们

以下是我的联想:

class Ticket < ActiveRecord::Base
  belongs_to :sender, class_name: "User", foreign_key: "id", inverse_of: :sent_tickets
  belongs_to :admin, class_name: "User", foreign_key: "id", inverse_of: :assigned_tickets

  .
  .
  .

end

class User < ActiveRecord::Base

  .
  .
  .

  has_many :sent_tickets, class_name: "Ticket", foreign_key: "sender", inverse_of: :sender, dependent: :nullify
  has_many :assigned_tickets, class_name: "Ticket", foreign_key: "assigned", inverse_of: :admin, dependent: :nullify

  .
  .
  .

end
classticket
但是,每当我尝试运行
@ticket=user.sent\u tickets.build
(在运行Rails IRB中的
user=user.first
之后,我在TicketsController中得到
ActiveRecord::AssociationTypeMismatch\new:user(#number)预期,得到Fixnum(#number)


有人能帮我吗?

修复了它。我将
发送者
分配
重命名为
发送者id
分配id
。然后我重新编写了我的关联:

class Ticket < ActiveRecord::Base
  belongs_to :assigned, class_name: "User"
  belongs_to :sender, class_name: "User"

  .
  .
  .

end

class User < ActiveRecord::Base

  .
  .
  .

  has_many :help_requests, foreign_key: "sender_id", class_name: "Ticket", dependent: :nullify
  has_many :sent_requests, through: :help_requests , source: :sender

  has_many :tickets, foreign_key: "assigned_id", dependent: :nullify
  has_many :assigned_tickets, through: :tickets, source: :assigned

  .
  .
  .

end
classticket