Вполне возможно, что может быть магия рельсов, которую я пропустил, но я предполагаю, что она будет в Ruby.
У меня есть модель с названием Company, у которой есть контакты.
Предположим, что у компании есть контакт 1, контакт 2, контакт 3 и контакт 4.
Когда я создаю текстовый журнал для каждого Контакта, я хочу вывести следующее (где Контакт = Контакт 1)
"Привет, контакт 1,
Я также пишу в контакт 2, контакт 3 и контакт 4. "
Таким образом, он должен извлечь Контакт в приветствии и затем перечислить их, вставив «и» перед последним Контактом в списке.
Редактировать
Теперь у меня есть следующее:
Это в contacts_controller.rb
def full_name
[self.first_name, self.last_name].compact.join(" ")
end
в contact_letters_controllers.rb (contact_letters - это выполненные контакты с буквами)
def new
@contact_letter = ContactLetter.new
@contact_letter.contact_id = params[:contact]
@contact_letter.letter_id = params[:letter]
@contact = Contact.find(params[:contact])
@company = Company.find(@contact.company_id)
contacts = @company.contacts.collect(&:full_name)
contacts.each do |contact|
@colleagues = contacts.reject{ |c| c==@contact.full_name }
end
@letter = Letter.find(@contact_letter.letter_id)
@letter.body.gsub!("{FirstName}", @contact.first_name)
@letter.body.gsub!("{Company}", @contact.company_name)
@letter.body.gsub!("{Colleagues}", @colleagues.to_sentence)
@contact_letter.body = @letter.body
@contact_letter.status = "sent"
end