将数组与rails中的对象相关联。

时间:2014-12-08 00:33:06

标签: ruby-on-rails activerecord associations

我想在构建数组时将一个对象数组与另一个对象关联,而不指定id。我很确定我以前见过这个,但是找不到它。

class User < ActiveRecord::Base
  has_many :companies
  has_many :job_groups
end

class Job < ActiveRecord::Base
 belongs_to :job_group
end

class JobGroup < ActiveRecord::Base
 belongs_to :user
 has_many :jobs
end

Company.rb

def self.user_links(user)
  job_group = JobGroup.create(user_id: user.id)
  user.companies.each do |c|
    links = c.find_links
    job_group << links
  end
end

链接作为链接集合返回,我想将其关联到作业组。

我得到一个NoMethodError:未定义的方法`&lt;&lt;'为了

1 个答案:

答案 0 :(得分:1)

不确定您真正想要的是什么,但显然您不能push<<对象的对象(在本例中为job_group)。您只能将对象推送到数组。

我假设您需要在job_group模型中使用类型为Array的其他属性,以便将links与其关联,例如job_group.links << links

希望有所帮助