ruby-on-rails - Gem, rails 的自定义保存方法

标签 ruby-on-rails ruby-on-rails-3 rubygems

我无法从 Google 上读到的内容中弄清楚这一点,但我想制作一个 gem,它可以在保存时改变模块的行为,但我不知道该怎么做。我如何在 Gem 中定义一个覆盖模型保存方法的保存方法?

更新:我发现 Rails 3: alias_method_chain still used? ,我将对此进行检查。 Rails 3 似乎已弃用 alias_method_chain。

最佳答案

我宁愿这样做:

module YourModule

  def self.included(base)
    base.extend(InstanceMethods)
  end

  module InstanceMethods

    def save
      # Your behavior here
      super # Use this if you want to call the old save method
    end
  end
end

然后在模型中:

class User < ActiveRecord::Base
  include YourModule
end

希望有帮助:)

关于ruby-on-rails - Gem, rails 的自定义保存方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6913583/

相关文章:

ruby-on-rails - 如何为查询定义命名空间

ruby-on-rails - 在resque队列中查找特定作业

ruby-on-rails - 页面中没有方法错误#home

javascript - Event_calendar gem 没有方法 'observe'

ruby-on-rails - 我如何在 Ubuntu 中使用 gem?

ruby-on-rails - 如何为 HABTM 关系填充连接表 Rails 3,postgresql

ruby-on-rails - Rails 3 下拉选择框?

ruby-on-rails - 在 Rails 中选择不同的 PostgreSQL 错误

ruby-on-rails - 在 rails 中创建大标签

ruby - 无法在系统范围的 rvm 安装上创建 gemset