代码之家  ›  专栏  ›  技术社区  ›  krunal shah

从类方法调用实例方法

  •  1
  • krunal shah  · 技术社区  · 15 年前

    控制器客户端文档。

    def upload_document
      ClientDocument.upload_client_document(params)
    end
    

    模型客户端文档。

    类方法

    def self.upload_client_document(params)
      self.new :uploaded_data => params[:Filedata],:client_id => params[:client_id]
      rename_document_name(params) # Call instance method
    end
    

    实例方法..

    def rename_document_name(params)
      self.filename = "#{self.client.client_no}-#{self.filename}"
    end
    

    是否可以从类方法调用实例方法?

    在存储到数据库之前,我想重命名文件名。

    解决这个问题的正确方法是什么?

    1 回复  |  直到 15 年前
        1
  •  4
  •   sepp2k    15 年前
    def self.upload_client_document(params)
      instance = self.new :uploaded_data => params[:Filedata],:client_id => params[:client_id]
      instance.rename_document_name(params) # Call instance method
      instance
    end