Rails эффективный способ сохранить недубликаты? - PullRequest
0 голосов
/ 24 июня 2010

У меня есть тип, который я хочу сохранить в базе данных, скажем, адреса электронной почты, и я хочу сохранить их наиболее эффективным способом.Я также хочу связать сообщения с адресами электронной почты, поэтому, если они существуют, я хочу назначить сообщение этому адресу электронной почты.Должен ли я сначала выполнить поиск, а затем перейти на основе этого результата, или есть более эффективный способ?Например, если он не существует, я просто хочу вставить его, я не хочу вставлять его после поиска;это займет 2 звонка, где 1 будет делать.

1 Ответ

3 голосов
/ 24 июня 2010

Я считаю, что вы должны использовать что-то вроде find_or_create.

Являются ли post и email отдельными моделями и post has_one email?

Редактировать

При создании сообщения вы должны сделать что-то вроде

# posts controller
@email = Email.find_or_initialize_by_address(params[:email])
@post.email = @email #or whatever you do to associate them
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...