Создать и обновить действия, это хороший стиль? - PullRequest
0 голосов
/ 17 декабря 2010

Я обновляю пользовательский объект, но перед сохранением / обновлением мне нужно выполнить какой-то анализ свойства объекта, должен ли я повторить его или я должен использовать фильтр, чтобы сделать это перед сохранением?

пример:

def create
   @user = User.new(params[:user]

   @user.parsed_bio = parse_bio(@user.bio)

   if @user.save
      ...
   end
end

def update
   @user = User.find(params[:id])

   if @user.update_attributes(params[:user])
   ...
   end

end

Свойство parsed_bio не обновляется с помощью параметров, я должен сделать это явно.

Должен ли я просто повторить назначениеи в создании, и в обновлении, или я могу сделать это в одном месте, используя фильтр как-то?

1 Ответ

4 голосов
/ 17 декабря 2010

Вы можете сделать это в модели пользователя:

class User < ActiveRecord::Base
  before_save :parse_bio

  private
  def parse_bio
    # parse your self.bio here
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...