| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Ruby On Rails > Заполнение collection_select |
| Автор: masterbloger 7.7.2011, 17:53 | ||
| Здравствуйте! Есть такой код:
Он выводит на экран выпадающий список с набором записей которые берутся из таблицы Issue базы данных. Сейчас в списке отображается только параметр subject, но мне нужно отображать запись в виде #id: subject. Помогите пожалуйста разобраться с этой задачей, а то я с Руби только недавно работаю. |
| Автор: masterbloger 8.7.2011, 10:58 | ||||
Сделал как написано в документации.
Не помогло. Так вообще не работает. |
| Автор: source777 8.7.2011, 12:18 | ||
Во-первых, перенеси обращение к модели в контроллер и желательно в виде:
А то привыкнешь ещё уязвимый для SQL-Injections код писать... А во view попробуй: <%= f.select(:feature_id, @issues.collect {|iss| [ "##{iss.id}: #{iss.subject}", iss.id ] }, { :include_blank => true }) %> или <%= select(@your_object, :feature_id, @issues.collect {|iss| [ "##{iss.id}: #{iss.subject}", iss.id ] }, { :include_blank => true }) %> или, допуская вероятность нестандартной формы, даже так: <%= select(:feature_id, @issues.collect {|iss| [ "##{iss.id}: #{iss.subject}", iss.id ] }, { :include_blank => true }) %> Курсив заменить на свои значения |
| Автор: source777 8.7.2011, 23:51 | ||||
Я рассчитывал, что ты используешь Rails 3.x, для Rails 2.x должно быть так:
Добавлено через 6 минут и 12 секунд Подробнее на эту тему почитай в статье: http://m.onkey.org/active-record-query-interface На мой взгляд для новичка не слишком дальновидно привыкать использовать deprecated методы. Хотя legacy-кода хватает... |
| Автор: masterbloger 11.7.2011, 09:54 |
| Спасибо большое за ссылки и советы. То есть, получается, что мой код просто не будет работать на Rails 3.1. А так вообще в методе find нет ничего опасного. |