Glauber Dourado
5 posts
|
Tópico: :dependent => :restrict
>> a = AnnouncersCategory.find(2)
=> #<AnnouncersCategory id: 2, name: “a”, created_at: “2009-01-17 11:40:23”, updated_at: “2009-01-17 11:40:23”>
>> a.announcers_sub_categories
=> [#<AnnouncersSubCategory id: 1, name: “a1”, announcers_category_id: 2, created_at: “2009-01-17 11:40:34”, updated_at: “2009-01-17 11:40:34”>, #<AnnouncersSubCategory id: 2, name: “a2”, announcers_category_id: 2, created_at: “2009-01-17 11:40:41”, updated_at: “2009-01-17 11:40:41”>]
>> a.destroy
RuntimeError:
from (eval):1:in `verify_restrict’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/callbacks.rb:182:in `call’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/callbacks.rb:182:in `evaluate_method’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/callbacks.rb:166:in `call’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/callbacks.rb:93:in `run’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/callbacks.rb:92:in `each’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/callbacks.rb:92:in `send’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/callbacks.rb:92:in `run’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/callbacks.rb:277:in `run_callbacks’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/callbacks.rb:315:in `callback’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/callbacks.rb:307:in `destroy_without_transactions’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/transactions.rb:179:in `send’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/transactions.rb:179:in `with_transaction_returning_status’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/database_statements.rb:66:in `transaction’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/transactions.rb:129:in `transaction’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/transactions.rb:138:in `transaction’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/transactions.rb:178:in `with_transaction_returning_status’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/transactions.rb:142:in `destroy’
from (irb):9
|
Glauber Dourado
5 posts
|
Tópico: :dependent => :restrict
Fernando,
Tá sim.
Os métodos de relacionamentos estao todos funcionando e testados. por exemplo:
Criei no banco uma AnnoncersCategory com nome = “a”.
Criei tb 2 AnnouncersSubCategory com nomes “a1” e “a2”, ambas relacionadas a “a”
daí:
AnnouncersCategory.find(:first)
=> #<AnnouncersCategory id: 1, name: “a”, created_at: “2009-01-16 13:19:39”, updated_at: “2009-01-16 13:19:39”>
AnnouncersCategory.find(:first).announcers_sub_categories
=> [#<AnnouncersSubCategory id: 1, name: “a1”, announcers_category_id: 1, created_at: “2009-01-16 13:19:52”, updated_at: “2009-01-16 13:19:52”>, #<AnnouncersSubCategory id: 2, name: “a2”, announcers_category_id: 1, created_at: “2009-01-16 13:19:57”, updated_at: “2009-01-16 13:19:57”>]
e
Na linha :
has_many :announcers_sub_categories, :dependent => :restrict
Qdo coloco :destroy no lugar de :restrict o delete cascade funfa legal …
|
Glauber Dourado
5 posts
|
Tópico: :dependent => :restrict
class Announcer < ActiveRecord::Base
belongs_to :announcers_category
belongs_to :announcers_sub_category
belongs_to :local
end
class AnnouncersCategory < ActiveRecord::Base
has_many :announcers_sub_categories, :dependent => :restrict
has_many :announcers
end
class AnnouncersSubCategory < ActiveRecord::Base
belongs_to :announcers_category
has_many :announcers
end
O teste:
com categoria e subcategorias associadas no banco.
a = AnnouncersCategory.find(:first)
a.destroy
|
Glauber Dourado
5 posts
|
Tópico: :dependent => :restrict
Ta na mão.
RuntimeError:
from (eval):1:in `verify_restrict’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/ callbacks.rb:182:in `call’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/ callbacks.rb:182:in `evaluate_method’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/ callbacks.rb:166:in `call’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/ callbacks.rb:93:in `run’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/ callbacks.rb:92:in `each’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/ callbacks.rb:92:in `send’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/ callbacks.rb:92:in `run’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/ callbacks.rb:277:in `run_callbacks’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/ca llbacks.rb:315:in `callback’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/ca llbacks.rb:307:in `destroy_without_transactions’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/tr ansactions.rb:179:in `send’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/tr ansactions.rb:179:in `with_transaction_returning_status’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/co nnection_adapters/abstract/database_statements.rb:66:in `transaction’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/tr ansactions.rb:129:in `transaction’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/tr ansactions.rb:138:in `transaction’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/tr ansactions.rb:178:in `with_transaction_returning_status’
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/tr ansactions.rb:142:in `destroy’
|
Glauber Dourado
5 posts
|
Tópico: :dependent => :restrict
Davis e Daniel,
Vlw msm, muito útil este plugin.
Uso o rails 2.2.2. E instalei o plugin, porém aqui a exceção ActiveRecord::DestroyRestricted ACHO q num levantou nao, caiu num RuntimeError.
RuntimeError in Announcers_categoriesController#destroy
RAILS_ROOT: /home/glauber/rails/infobase
Application Trace | Framework Trace | Full Trace
(eval):1:in `verify_restrict’
app/controllers/announcers_categories_controller.rb:78:in `destroy’
Request
Parameters:
{"_method"=>"delete",
“authenticity_token”=>"94efbba7214b6f9940881280adb6229731055341",
“id”=>"1"}
+ um Full-trace enorme !!
|