总是大写属性?

时间:2013-02-14 19:09:14

标签: ruby activemodel

我有以下课程:

class Message
  extend ActiveModel::Naming
  include ActiveModel::Conversion

  attr_accessor :name, :emails, :custom_content

  def initialize(attrs = {})
    attrs.each do |k, v|
      self.send "#{k}=", v
    end
  end

  def persisted?
    false
  end

  def email_list
    self.emails.split(",").collect { |email| {:email => email.delete(" ")} }
  end 
end

我总是希望将name属性大写,而不是在我在代码中调用属性时总是这样做。

1 个答案:

答案 0 :(得分:0)

想出来:

class Message
  extend ActiveModel::Naming
  include ActiveModel::Conversion

  attr_accessor :name, :emails, :custom_content

  def initialize(attrs = {})
    attrs.each do |k, v|
      self.send "#{k}=", v
    end
  end

  def persisted?
    false
  end

  #Fix is here
  def name=(s)
    @name = s.titleize
  end

  def email_list
    self.emails.split(",").collect { |email| {:email => email.delete(" ")} }
  end 
end