ruby-on-rails - Rails 型号 : Name -- First, 最后

标签 ruby-on-rails ruby activerecord model ruby-on-rails-3

我是 Rails 的新手,正在为用户开发一个带有 Profile 模型的 Rails 3 应用。

在配置文件模型中,我希望有一个“名称”条目,并且我希望能够使用简单的语法访问它的逻辑变体,例如:

user.profile.name = "John Doe"
user.profile.name.first = "John"
user.profile.name.last = "Doe"

这可能吗,还是我需要坚持使用“first_name”和“last_name”作为我在这个模型中的字段?

最佳答案

有可能,但我不推荐。

如果我是你,我会坚持使用 first_namelast_name 并添加一个方法 fullname:

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

关于ruby-on-rails - Rails 型号 : Name -- First, 最后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3930246/

相关文章:

ruby-on-rails - 从多维数组中删除 "empty"个元素

ruby-on-rails - Rails - 跨 3 个表的事件记录联接

ruby-on-rails - 与 Ruby on Rails 中的范围关联

ruby-on-rails - Omniauth+Facebook 丢失 session

ruby-on-rails - rails 如果 object.nil?那么魔术 '' 在意见?

ruby-on-rails - 如何将 Rails 代码添加到 div 标签中的 id 属性?

ruby-on-rails - ActiveRecord SQL执行时间

ruby-on-rails - rails3-jquery-autocomplete,在 Rails 应用程序的参数中传递对象 ID

ruby-on-rails - 如何创建/维护对 ActiveRecord 关联中特定对象的有效引用?

ruby-on-rails - 如何获得模型的所有属性减去一些