我正在使用rails 3.1.3,postgreql9.1和ruby 1.9.3。
我想在现有数据库中添加一个列,它实际上是两个现有列的串联,即; first_name和last_name。
如何做到这一点?
我想要全名的原因是,当需要显示员工时,我想显示全名,但我需要将名称分成两部分以用于其他功能。
此问题的另一部分是,虽然我只希望员工的姓名显示在报告上,但我还希望员工的电子邮件和主要职位显示,然后有一个名为info的链接,点击后将给出员工详细报告,显示员工表中的所有属性。
到目前为止,我有一个基本的员工页面。
任何读者都有耐心和意愿分享关于如何完成这项任务的指导,指导和建议?
谢谢,
汤姆。
答案 0 :(得分:1)
如果您需要在数据库中创建真实字段,可以使用migrations。
但在这种情况下,您可以使用virtiual属性:
在模型中创建两个方法:
def full_name
[first_name, last_name].joun(' ')
end
def full_name=(name)
split = name.split(' ', 2)
self.first_name = split.first
self.last_name = split.last
end
并添加到您的视图中:
<p> Full name </p>
<%= f.text_field :full_name %>
答案 1 :(得分:0)
难道你不能只连接你的观点中的名字吗?
没有必要以这种方式复制数据库数据。
答案 2 :(得分:0)
虽然您可以在不编辑db结构的情况下解决此问题,但您可以创建新的db col,并且可能需要在将来编辑db结构。
尝试此页面,您的数据库类型的管理工具 http://en.wikipedia.org/wiki/PostgreSQL#Database_administration
这个看起来很合适。
pgAdmin的
“pgAdmin pakage是PostgreSQL的免费开源图形用户界面管理工具,在许多计算机平台上都受到支持”。
为一个男人钓鱼,他吃了一天。教一个人钓鱼,他吃了一辈子。