|
|
|
m_maxser |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 77 Регистрация: 5.2.2008 Репутация: нет Всего: нет |
Здравствуйте.
Есть модель User с полем email_options, поле хранит настройки email рассылки. Чтобы изменить настройки, пользователь заходит в личный кабинет, где выбирает их из выпадающего списка. Список создается так:
Локально (W7, mysql), все работает как надо. А вот на сервере (Linux, Oracle) есть проблема с отображением. Например если у пользователя в БД, поле "email_options" хранит значение "2", то по при генерации списка, "Опция 3" должна помечаться как selected="selected". Но этого не происходит. Из-за этого всегда отображается первый элемент списка ("Опция 1"). При этом сохранение в БД работает. Я без проблем выбираю элемент, жму "сохранить" и значение в БД меняется. В чем может быть причина? |
|||
|
||||
m_maxser |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 77 Регистрация: 5.2.2008 Репутация: нет Всего: нет |
пожалуйста помогите разобраться
|
|||
|
||||
source777 |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 12 Всего: 56 |
В приведённом тобой примере надо вручную указывать текущее значение, после опций {:selected => value}
Но лучше использовать хелперы из модуля FormBuilder, которые автоматически подставляют значения атрибутов на основе созданного в контроллере объекта. Подробно описано в Rails Guides. Это сообщение отредактировал(а) source777 - 2.7.2012, 17:45 -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
m_maxser |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 77 Регистрация: 5.2.2008 Репутация: нет Всего: нет |
Так мой пример полностью соответствует тому, что написано в Rails Guides.
первый параметр для работы с конкретной моделью второй - поле этой модели третий - массив значений, который может принимать это поле. И если второй параметр уже содержит значение, то соответствующий элемент из массива помечается как "selected". Пример нормально работает локально. Глюк только на хостинге был. Проблему можно сказать решил, все дело в моей невнимательности и лени :(. По моему это было из-за того, что когда я добавлял новое поле в модель User, миграцию запустил только на локали. На сервере было лень (живая БД и т.п.), так что я просто закомитил миграцию, без ее запуска. Поле добавил вручную. Я так уже делал раньше, все было нормально. При этом все нормально сохранялось. Обнаружил причину, когда запустил копию проекта с другой БД, но уже через миграции. Там все работало. А сервер тотже, все такое же . Вот! |
|||
|
||||
Правила форума "Ruby on Rails" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Ruby On Rails | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |