鳩舎

レースしない

rails 4 concern 便利

Rails 4 から入る app/models/concerens を使う。

class User < AR::Base
  include Cryptable
end

app/models/user.rb に作って

module Cryptable
  def password
    BCrypt::Password.new(read_attribute(:password))
  end

  def password=(password)
    write_attribute(:password, BCrypt::Password.create(password))
  end
end

みたいなコードを app/models/concerns/cryptable.rb に作るだけ。

便利なので活用していきたい。これが app/models/concerns/user/cryptable.rb とかにすると include もいらなくなる?