Rails 3 - запустить обновление в модели - PullRequest
0 голосов
/ 06 апреля 2011

У меня есть таблица сотрудников с определенными столбцами:

employee_nbr, first_name, фамилия и employee_nbr_name

Мне нужно как-то заполнить столбец employee_nbr_name данными из других столбцов, например:

1234 - Первая последняя (сотрудник_nbr пробел тире имя_символ фамилия)

Первый вопрос: где мне это сделать? В модели или контроллере, когда создается сотрудник?

Во-вторых, кто-нибудь может помочь с тем, как его отформатировать?

Спасибо!

Ответы [ 2 ]

1 голос
/ 06 апреля 2011

как говорит jklina, вставь это в свою модель.но используйте интерполяцию, чтобы даже при нулевых значениях ваше приложение не падало:

def generate_employee_nbr_name
  self.employee_nbr_name = "#{employee_nbr} - #{first_name} #{last_name}"
end
1 голос
/ 06 апреля 2011

В вашей модели вы можете сделать следующее:

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

Это соединит их вместе и установит столбец, чтобы при сохранении записи она также сохраняла строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...