Ruby on rails 使用别名\u方法\u链向控制器添加功能

Ruby on rails 使用别名\u方法\u链向控制器添加功能,ruby-on-rails,forms,Ruby On Rails,Forms,我正在使用alias_method_chain向控制器添加功能 但无法访问参数。此处参数[:email]为零 module Spree::MyExtensionUsersController def self.included(target) target.class_eval do alias_method_chain :create, :extra end end def create_with_ex

我正在使用alias_method_chain向控制器添加功能 但无法访问参数。此处参数[:email]为零

module Spree::MyExtensionUsersController


    def self.included(target)

        target.class_eval do
            alias_method_chain :create, :extra
        end

    end


    def create_with_extra

        #email comes from a form
        email = params[:email]

        do_something(email)
        create_without_extra
  end

end
尝试使用之前的过滤器:

如果params[:email]为零,则params是散列,因此您可以访问它。
def self.included(target)
  target.send :before_filter, :do_something_with_email, :only => :create
end

def do_something_with_email
  #email comes from a form
  email = params[:email]

  do_something(email)
end