La aplicación Rails tiene problemas con el ahorro entre modelos

Estoy trabajando en una aplicación que descarga etiquetas meta de los sitios web y las guarda. La descarga se produce en un modelo llamado.Site. Me gustaría guardar las metaetiquetas de robots descargadas en un modelo llamadorobots_tag que está conectado a sitios a través de una tabla de unión llamadameta_tag_sites.

Pero el método que he escrito en el modelo de sitios para hacer esto no funciona. Cuando intento llamar al método en la consola, aparece el siguiente error.

método indefinido `robots_meta = 'para []: ActiveRecord :: Relation

¿Alguna idea de lo que estoy haciendo mal?

class Site < ActiveRecord::Base
  attr_accessible :domain 
  belongs_to :user
  has_many :meta_tag_sites
  has_many :robots_tags, through: :meta_tag_sites
  accepts_nested_attributes_for :robots_tags

  # ...

  def download_robots_meta_tags
    robots_tags = Nokogiri::HTML(Net::HTTP.get(self.domain, "/")).xpath("//meta[@name='robots']")
    robots_tags.each do |tag|
      self.robots_tags.robots_meta = tag
    end
  end

  # ...

end

class RobotsTag < ActiveRecord::Base
  attr_accessible :robots_meta
  has_many :meta_tag_sites
  has_many :sites, through: :meta_tag_sites
end

class MetaTagSite < ActiveRecord::Base
  attr_accessible :site_id, :meta_tag_id
  belongs_to :site
  belongs_to :robots_tag
end

(Por cierto, esta publicación está relacionada con una publicación anterior:¿La aplicación de rieles de raspado en la web está sobre modelada?).

Respuestas a la pregunta(2)

Su respuesta a la pregunta