获取虚拟属性方法的价值

时间:2017-06-09 10:59:37

标签: ruby-on-rails ruby

我试图在我的模型上获取虚拟属性的值,是否有其他方法来获取值?我需要将一个字符串传入哈希值以检索值...

class Property < ApplicationRecord
  def full_address
    "#{address1}, #{city}, #{postcode}"
  end
end

然后尝试访问完整地址的,如下所示:

att_name = 'full_address'
property[att_name]

最后一行似乎对我不起作用。 property是Property的一个实例。

2 个答案:

答案 0 :(得分:2)

正如Pavan在评论中提到的那样,我将尝试更多地解释那里发生的事情。

att_name = 'full_address',在这里你要为att_name指定一个字符串,但你打算调用函数full_address 所以通过删除''around full_address

来调用该函数

您的代码变为att_name = full_address

答案 1 :(得分:2)

正如我所说,你应该att_name = full_address而不是att_name = 'full_address'

当您执行att_name = 'full_address'时,它会将att_name的值指定为full_address,因为您将其定义为字符串。