J'ai une liste de sélection déroulante dans mon application Rails, sous la forme pour créer un nouvel enregistrement.Ajouter un complément d'information à Rails Sélectionner la liste?
<li>Surveyor Name<span><%= f.select :surveyorperson_id, Person.all.collect { |x| [x.personname, x.id]}, {:selected => (@kase.surveyorperson_id rescue "")} %></span></li>
Il en est ainsi l'utilisateur peut choisir parmi une liste de noms d'arpenteur lequel ils veulent associer à l'affaire qu'ils créent.
Ce que je voudrais faire est d'avoir le nom de l'entreprise de l'arpenteur en regard de leur nom entre parenthèses.
Au moment où le code ressemble à ceci:
<li>Appointed Company<span><%= f.select :appointedsurveyor_id, Company.all.collect {|m| [m.companyname, m.id]}, {:selected => (@kase.appointedsurveyor_id rescue "")} %></span></li>
<li>Appointed Surveyor<span><%= f.select :surveyorperson_id, Person.all.collect { |x| [x.personname, x.id]}, {:selected => (@kase.surveyorperson_id rescue "")} %></span></li>
Est-il possible d'avoir la compagnie qu'un expert travaille pour produire après leur nom?
Les associations sont les suivantes:
class Company < ActiveRecord::Base
has_many :kases
has_many :people
class Person < ActiveRecord::Base
has_many :kases # foreign key in join table
belongs_to :company
J'ai également changé à la sortie des documents de l'entreprise à leurs noms plutôt que leurs numéros d'identification.
def to_s; companyname; end
Merci d'avance!
Merci,
Danny
Une fois que je l'ai ajouté la name_and_company def, comment dois-je appeler cette méthode à partir du code de sélection dans la vue? – dannymcc
au lieu d'appeler x.personname, vous appelez x.name_and_company – Calavera