![]() |
|
![]() ![]() ![]() |
|
DimanLin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 10.2.2008 Репутация: нет Всего: нет |
Контроллер
News.destroy(params[:id]) Модель: class News < ActiveRecord::Base has_one :prevnewsimage, :dependent => :destroy has_many :newsimages, :dependent => :destroy, :before_remove => :removenewsimagqe validates_presence_of :header, :prevtext, :text validates_length_of :header, :maximum => 255 @@onpage = 8 def self.perpage(page) offset = (page.to_i * @@onpage) - @@onpage self.find(:all, :offset => "#{offset}", :limit => "#{@@onpage}") end def removenewsimagqe(newsimage) File.delete("#{RAILS_ENV}/public/newsimage/#{newsimage.name}") end def removeprevimages(previmages) File.delete("#{RAILS_ENV}/public/newsimage/#{previmages.name}") end end Не могу добиться удаления картинок для модели newsimage. Все дочерние ассоциации по отношению к News удаляются, а callback(before_remove) для newsimage не вызывается.... А почему? Делаю изходя из документации http://guides.rubyonrails.org/association_basics.html Раздел: 4.5 Association Callbacks |
|||
|
||||
DimanLin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 10.2.2008 Репутация: нет Всего: нет |
Решил проблемму немного подругому но как мне кажется более верным способом.
В документации http://guides.rubyonrails.org/association_basics.html Раздела 4.5 Association Callbacks В этом разделе приведён пример использования callback метода: ================================================= class Customer < ActiveRecord::Base has_many :orders, :before_add => :check_credit_limit def check_credit_limit(order) ............................. end end ================================================= В моём коде за основу брался этотже пример. Разница была только в типе ассоциативного калбака, в примере :before_add у меня before_remove has_many :newsimages, :dependent => :destroy, :before_remove => :removenewsimagqe def removenewsimagqe(newsimage) File.delete("#{RAILS_ENV}/public/newsimage/#{newsimage.name}") end Вызов метода removenewsimagqe не происходил. Так и не разобрался почему... Из документации видно, что есть ещё простые колбаки(не ассоциативные). http://guides.rubyonrails.org/activerecord...lbacks-overview Сним всё заработало. ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Ruby on Rails" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Ruby On Rails | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |