Rails app tem problemas com a economia entre modelos
Estou trabalhando em um aplicativo que faz download de meta tags de websites e salva-os. O download acontece em um modelo chamadoSite
. Eu gostaria de salvar as meta tags de robôs baixados em um modelo chamadorobots_tag
que é conectado a sites através de uma tabela de junção chamadameta_tag_sites
.
Mas o método que escrevi no modelo de sites para fazer isso não está funcionando. Quando tento chamar o método no console, recebo o seguinte erro.
Método indefinido `robots_meta = 'para []: ActiveRecord :: Relation
Alguma ideia do que estou fazendo errado?
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
(BTW, este post está relacionado a um post anterior:Web Raspagem Rails App Obtendo Over-Modelado?).