Использование нескольких раскрывающихся списков вместо текстового поля в Rails 3 - PullRequest
0 голосов
/ 10 апреля 2011

В настоящее время я создаю свое первое приложение на Rails 3, но не могу понять, как получить один функционал.

У меня есть поле температуры, но вместо использования <%= f.text_field :temp %> мне бы хотелось иметь два выпадающих списка. Первое раскрывающееся меню позволит выбрать 97-99, а второе - 0-9. После того, как пользователь сделал свой выбор и сохранил, результаты должны быть объединены, например, в. 98,2

Каков наилучший способ добиться этого в Rails 3? Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 апреля 2011

Я предлагаю создать два виртуальных атрибута, по одному для каждой части температуры (97-99 и 0-9).Затем определите метод before_validation в модели, который принимает эти два значения (которые не сохраняются в базе данных) и соответственно устанавливает атрибут temp (который сохраняется в базе данных).Таким образом, вы можете проверять временное значение, как обычно, и запрашивать его, как и любое другое обычное значение в базе данных.Это также позволяет легко просматривать код.Однако есть и другие способы сделать это.

У Райана Бейтса великолепный скринкаст по виртуальным атрибутам.http://railscasts.com/episodes/167-more-on-virtual-attributes

0 голосов
/ 10 апреля 2011

Вы можете сделать два атрибута в любой модели, которую вы используете. Один для каждого поля, которое вы хотите использовать. Затем, когда вы нажимаете Сохранить, у вас есть код в модели, и вы используете эти атрибуты для формирования атрибута температуры.

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