从字符串中读取虚拟属性

时间:2015-03-30 12:18:48

标签: ruby-on-rails

我目前正在从字符串中读取模型属性:

Contact['name'] 

但是我有一个虚拟属性,我希望以相同的方式访问,使用字符串:

class Contact < ActiveRecord::Base
  def special_name
    'SPECIAL NAME'
  end
end

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以将send与字符串或符号结合使用:

Contact.send('special_name')

答案 1 :(得分:0)

通过发送方法,您可以通过字符串

调用
Contact.send('special_name')

日志:

[7] pry(main)> User.first.send("full_name")
=> "Jack Jones"
[8] pry(main)> User.first.full_name
=> "Jack Jones"