2011-04-06 50 views
0

我有特殊的列雇员表运行更新:Rails 3中 - 在模型

employee_nbr,名字,姓氏和employee_nbr_name

我需要以某种方式填充与从其他的数据employee_nbr_name列像这样的列:

1234 - 名姓(employee_nbr空间破折号FIRST_NAME空间姓氏)

第一个问题是,我应该这样做呢?在模型或控制器中创建员工时?其次,任何人都可以帮助如何格式化吗?

谢谢!

回答

1

在你的模型,你可以做到以下几点:

class Employee < ActiveRecord::Base 
    before_save :generate_employee_nbr_name 

    private 

    def generate_employee_nbr_name 
    self.employee_nbr_name = "#{employee_nbr} - #{first_name} #{last_name}" 
    end 
end 

这将它们串起来,并设置列,因此当记录保存这将节省字符串为好。

+0

会更好,如果你插入它,因为这将打破,如果任意字段都为空的 – corroded 2011-04-06 19:21:29

+0

由于腐蚀 - 更新。 – jklina 2011-04-06 19:32:09

+0

其他领域是必需的,所以Perfecto!你们好棒。谢谢。 – 2011-04-06 20:45:38

1

像jklina说,把它放在你的模型中。但与零值,使用插值因此,即使您的应用程序不会崩溃:

def generate_employee_nbr_name 
    self.employee_nbr_name = "#{employee_nbr} - #{first_name} #{last_name}" 
end