Ruby on rails 如果启用新新闻,则会自动从以前的新闻中删除启用的新闻

Ruby on rails 如果启用新新闻,则会自动从以前的新闻中删除启用的新闻,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,如果启用新新闻,则会自动从以前的新闻中删除启用的新闻 我的回拨: post.rb after_update :removes_enabled def removes_enabled if enabled? self.enabled = false else self.enabled = true end end admin/post.rb column :enabled do |status| status.enabled? ? action_label =

如果启用新新闻,则会自动从以前的新闻中删除启用的新闻

我的回拨:

post.rb

after_update :removes_enabled

def removes_enabled
  if enabled?
    self.enabled = false
  else
    self.enabled = true
  end
end
admin/post.rb

column :enabled do |status|
  status.enabled? ? action_label = "Disable" : action_label = "Enable"
  link_to(action_label, status_admin_news_path(status), method: :put )
end

要禁用以前的所有帖子,请使用以下代码:

before_save :removes_enabled

def removes_enabled
  if enabled_changed? and enabled?
    Post.update_all( :enabled => false )
  end
end