2013-07-21 3 views
0

Мне было интересно, есть ли способ, с помощью которого можно отправить данные с модели на создание. В моем приложении у меня есть модель, которая на create генерирует ключи, а затем хэширует их в базе данных. Я хотел бы получить незашифрованную форму ключа и отправить его пользователю и позволить им просматривать его только один раз и сохранить их в другом месте. Я попытался установить флэш-сообщение изнутри модели, но он не работает.Отправлять данные из модели activerecord при создании

ответ

1

Вы можете добавить не-сохранялось поля в модели с использованием моей attr_accessor так же, как обычный класс рубина. ActiveRecord не подберет их. Поэтому вы можете просто добавить поле и поместить его туда, и они будут присутствовать для жизни этого объекта (или до тех пор, пока не будут очищены). Только не делайте reload.

1

Только так я могу видеть это:

  1. after_initialize вы Ассинг ключ к дополнительным attr_accessor (назовем его unhashed_key)
  2. добавить before_validation on: :create, который будет принимать unhashed_key, хэш, и назначить hashed_key
  3. При сохранении только hashed_key переходит в разряд и unhashed_key по-прежнему доступен для чтения
  4. Вы передаете unhashed_key throug ч вспышка или сеанс для следующего запроса (я не думаю, что флэш-это лучший способ, с помощью сеанса возможно)
Смежные вопросы