0

例として:

module ModelHelper
  def self.special_function(some_parameter)
    do_some_special_thing
  end
end

class Student < ActiveRecord::Base
  def to_special
    ModelHelper.special_function(a_variable_of_here)
  end
end

class Teacher < ActiveRecord::Base
  def to_special
    ModelHelper.special_function(another_variable_of_here)
  end
end

どこに置けばいいのmodel_helper.rb

4

1 に答える 1

2

私は通常、lib にファイルを作成してインクルードします。lib/special_model.rb のようなもの:

module SpecialModel
   included do
     def to_special
       do_some_special_thing
     end
   end
end

次に app/models/student.rb で:

class Student
  include SpecialModel
end

また、モジュールを操作する際のいくつかのレール ヘルプについては、ActiveSupport::Concern を参照することをお勧めします。

http://api.rubyonrails.org/classes/ActiveSupport/Concern.html

于 2013-01-03T18:17:17.787 に答える