2011-04-06 51 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