#ruby-on-rails
#ruby-on-rails
Вопрос:
Я пытаюсь связать first_name
и last_name
из таблицы Employees в форме, чтобы пользователь мог выбрать сотрудника по его полному имени.
first_name
И last_name
работают сами по себе, но я хотел бы иметь оба значения.
Я пробовал разные типы скобок, но безрезультатно.
Это код, который у меня есть до сих пор:
<div class="field">
<%= f.label :employee, as: 'Sales Rep' %><br>
<%= f.collection_select(:employee, @employees,:id,(:first_name, :last_name) ) %>
</div>
Комментарии:
1.объекты в
@employees
коллекции взяты изEmployee
ActiveRecord
модели?. Если это так, вы могли бы написать метод в этой модели, напримерdef full_name; "#{first_name}" #{last_name};end
, а затем использовать его в своей форме, например:<%= f.collection_select(:employee, @employees, :id, :full_name) ) %>
2. @fanta, отлично! Если вы хотите добавить свой комментарий в качестве ответа, я выберу его в качестве ответа.
Ответ №1:
Один из способов добиться этого — добавить новый метод в вашу Employee
модель, например:
def full_name
"#{first_name} #{last_name}"
end
и используйте этот метод в своей форме:
<%= f.collection_select(:employee, @employees, :id, :full_name) %>