Итак, у меня есть эта форма для создания расписаний, где есть куча полей, а один из них - времена года. В таблице сезонов есть поле под названием 'is_current', которое, если установлено в 1, сообщает нам, что это текущий сезон. Когда отображается форма создания, я хочу, чтобы текущий сезон был выбран по умолчанию в раскрывающемся сезоне. Любая помощь будет оценена. Благодарю.ActiveScaffold: как установить значение по умолчанию для выпадающего списка?
ответ
Я считаю, что это будет что-то вроде
#controller
@seasons = Season.all
@current_season = seasons.detect{ |s| s.is_current==true }
#view
select('schedule', 'season_id', @seasons.collect{ |s| [s.name, s.id] },
:selected => @current_season)
Редактировать
Извините за недоразумение ... Я хотел бы попробовать что-то вроде следующего:
Создать named_scope
на Season
модели
named_scope :current, :conditions => "is_current = true"
и попытаться установить этот параметр
config.columns[:seasons].options = {:selected => Season.current}
Я не знаю, работает ли он. Это просто выстрел.
Вы не должны делать вызовы модели в представлениях. – vonconrad
Я действительно сказал, чтобы сделать вызов в представлении, но я укажу –
Вы можете использовать атрибут :selected
в методе формы select
, хотя это будет ожидать значение тега option
. Давайте сделаем простой выпадающий список, который имеет идентификатор сезона в качестве значения параметра, название сезона как то, что пользователь видит и конкретную запись выбирается по умолчанию, например:
<option value="123" selected="selected">Name of season</option>
<option value="234">Another season</option>
В этом случае, :selected
атрибут будет ожидать 123
, так что он знает, чтобы сделать его значением по умолчанию.
Вы можете сделать это с помощью следующего кода:
Контроллер:
@seasons = Season.all
@current_season = @seasons.detect{|s| s.is_current == 1}.id
View (в form_for заявлении):
<%= f.select :season_id, @seasons.collect {|s| [s.name, s.id]}, :selected => @current_season %>
Я нашел решение. Вы должны добавить фрагмент кода в соответствующий вспомогательный файл, в моем случае - schedules_helper.rb.
def seasons_list
s = Season.find(:all, :order => 'is_current DESC').map{|t| [t.name, t.id]}
end
Это позволит убедиться, что текущий сезон всегда является первым вариантом выпадающего и, следовательно, по умолчанию выбрано.
Спасибо всем за ваши ответы.
- 1. Установить значение по умолчанию для выпадающего списка
- 2. установить значение по умолчанию для выпадающего списка
- 3. Как установить значение по умолчанию для выпадающего списка
- 4. Как установить значение по умолчанию для выпадающего списка?
- 5. asp.net MVC установить значение по умолчанию для выпадающего списка
- 6. asp.net: установить значение по умолчанию для выпадающего списка
- 7. Как установить AngularJS выпадающего значение по умолчанию
- 8. JQuery установить следующее значение из выпадающего списка по умолчанию
- 9. Как установить значение выпадающего списка по умолчанию из другого выпадающего списка в листах?
- 10. Как установить значение выпадающего списка?
- 11. Как создать стандартное значение по умолчанию для выпадающего списка
- 12. Как получить значение по умолчанию для выпадающего списка?
- 13. Как установить значение по умолчанию для выпадающего меню на рельсах?
- 14. Как установить значение выпадающего списка в jquery?
- 15. Манипулирование значением по умолчанию для выпадающего списка
- 16. Значение по умолчанию для выпадающего списка в кендо сетки
- 17. Значение по умолчанию для выпадающего списка в yii
- 18. отключить проверку по умолчанию для выпадающего списка
- 19. Обратный порядок по умолчанию для выпадающего списка
- 20. Как установить значение по умолчанию для comboBox?
- 21. Как установить значение по умолчанию для выпадающего списка spinner в Android?
- 22. Как установить значение по умолчанию для фильтра выпадающего списка kendo в заголовке сетки
- 23. назначить значение по умолчанию для выпадающего списка в меню выпадающего списка
- 24. Как установить значение по умолчанию для списка элементов?
- 25. Как установить значение по умолчанию для раскрывающегося списка kendo ui?
- 26. По умолчанию значения выпадающего меню
- 27. Я не могу установить значение по умолчанию для выпадающего списка для последнего элемента
- 28. Установить значение по умолчанию с помощью Ember.Select
- 29. Установки по умолчанию valhe для выпадающего списка в нг-сетке
- 30. Как установить значение по умолчанию для элемента выбора HTML?
Я ценю ваши ответы, но мой вопрос заключается в том, как добиться этого в ActiveScaffold. ActiveScaffold динамически воспроизводит представления. Пожалуйста, воздержитесь от ответов на общие рельсы. Спасибо. –
Разве вы не можете просто изменить его на вид, который у вас есть? Или вы говорите о многих взглядах? –
Представления динамически генерируются. Нет файлов .rhtml или .erb. ActiveScaffold требует настройки в контроллере для сгенерированных представлений. –