我对rails非常陌生,使用适用于用户的Profile模型的Rails 3应用程序.
在配置文件模型中,我希望有一个“名称”条目,我希望能够使用简单的语法访问它的逻辑变体:
user.profile.name = "John Doe" user.profile.name.first = "John" user.profile.name.last = "Doe"
这是可能的,还是我需要坚持使用“first_name”和“last_name”作为此模型中的字段?
解决方法
这是可能的,但我不推荐它.
如果我是你并且添加方法fullname,我会坚持使用first_name和last_name:
def fullname "#{first_name} #{last_name}" end
编辑:
如果你真的想要user.profile.name,你可以像这样创建一个Name模型:
class Name < ActiveRecord::Base belongs_to :profile def to_s "#{first} #{last}" end end
这允许你这样做:
user.profile.name.to_s # John Doe user.profile.name.first # John user.profile.name.last # Doe