Как добавить параметры в рубин на пост рельсов? - PullRequest
0 голосов
/ 27 февраля 2010

Скажем, у меня есть модель с именем User, которая имеет следующие параметры: favour_color, favour_animal и lucky_number. Пользователь заполняет форму, содержащую только favour_color и favour_animal. Когда форма отправлена, я хочу запустить функцию, которая принимает во внимание цвет и животное и предлагает lucky_number. Как вставить значение в значения поста без заполнения пользователем формы - как и где я могу это реализовать?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 27 февраля 2010

Поскольку lucky_number не будет известно до тех пор, пока не будут записаны fav_animal и favour_color, отправить его вместе с запросом на публикацию будет невозможно. Попробуйте использовать

before_validation_on_create

это выглядит примерно так:

before_validation_on_create :generate_lucky_number

def generate_lucky_number
     self.lucky_number = self.favorite_animal.length + self.favorite_color.length
end

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

2 голосов
/ 27 февраля 2010

Вы можете встроить его в логику контроллера или поместить код в вашей модели в один из следующих обратных вызовов:

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