【发布时间】:2016-01-12 22:05:25
【问题描述】:
所以我有一个User 模型,它有一个first_name 和last_name 列。
我想创建一个名为username 的新虚拟属性,我什至可以在我的路由文件中访问它。
我试过这样做:
attr_accessor :username
# getter
def username
@username
end
# setter
def username=(user)
@username = "#{user.first_name}.#{user.last_name}"
end
但是当我尝试设置它时,我得到了错误数量的参数错误。
[27] pry(main)> u.username=(u)
ArgumentError: wrong number of arguments (1 for 0)
from
[28] pry(main)> u.username = u
ArgumentError: wrong number of arguments (1 for 0)
from
u 是有效的User 记录。
理想情况下,我想做两件事。我希望能够检查我的数据库中所有User 对象的user.username,它应该按照上述setter 方法返回。
我怎样才能做到这一点?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 attributes attr