#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)
Комментариев нет:
Отправить комментарий