Я пытаюсь моделировать ориентированный граф для моего рубин на применении рельсы я две модели, Tag и подключениеРубин на рельсы - Моделирование Ориентированный граф
class Connection < ActiveRecord::Base
attr_accessible :cost, :from_id, :to_id
belongs_to :from_tag, :foreign_key => "from_id", :class_name => "Tag"
belongs_to :to_tag, :foreign_key => "to_id", :class_name => "Tag"
end
class Tag < ActiveRecord::Base
attr_accessible :location_info, :reference
has_many :to_connections, :foreign_key => 'from_id', :class_name => 'Connection'
has_many :to_tags, :through => :to_connections
has_many :from_connections, :foreign_key => 'to_id', :class_name => 'Connection'
has_many :from_tags, :through => :from_connections
end
Когда я создаю тег как так
a = Tag.create(:reference => "a", :location_info => "Tag A")
b = Tag.create(:reference => "b", :location_info => "Tag B")
Он отлично работает.
Но когда я пытаюсь сделать связь между двумя
Connection.create(:from_tag => a, :to_tag => b, :cost => 5)
Я получаю сообщение об ошибке говорящее
«ActiveModel :: MassAssignmentSecurity :: Ошибка: Не удается массового правопреемником защищенные атрибуты: from_tag и to_tag "
, может ли кто-нибудь увидеть проблему?
проблема, очевидно, ваш attr_accessible список не имея from_tag и to_tag. – nurettin
Я следил за этим http://www.aquabu.com/2007/10/22/directed-graphs-in-ruby-on-rails/ и делал это так, как они это делали – eoghanm
У них не было обеспечения массового назначения в 2007 году – nurettin