#ruby_on_rails
есть
.origin.select
select#origin
= options_from_collection_for_select(Airport.all, :id, :name)
HTML получается каким
Можно ли как то в options_from_collection_for_select для option задать отображение
не только по :name но и по нескольким полям типа так:
= options_from_collection_for_select(Airport.all, :id, ("#{:name} #{:city}(#{:country})")
Что бы получилось как то так
Ответы
Ответ 1
В классе, откуда вы извлекаете данные Airport следует реализовать метод, скажем full_name, который будет возвращать строку, эквивалентную той, которую вы хотите вызывать class Airport def full_name # Тут формируете нужный вам формат вывода "#{self.name} #{self.city}(#{self.country})" end end тогда вы можете вызвать этот новый метод, передав в третьем параметре символ с его именем .origin.select select#origin = options_from_collection_for_select(Airport .all, :id, :full_name)
Комментариев нет:
Отправить комментарий