0
很可能可能有一個我錯過的軌道魔法,但我猜它會在Ruby中。如何在Ruby on Rails中創建英文列表(name1,name2和name3)?
我有一個叫做公司has_many聯繫人的模型。
假設公司有聯繫1,聯繫人2,觸點3和聯繫4.
當我創建爲每個聯繫人一個textblog,我想輸出下面的(其中,聯繫=聯繫人1)
「嗨,聯繫人1, 我還寫信給聯繫人2,聯繫人3和聯繫人4。
因此,需要在稱呼中提取聯繫人,然後列出它們,在列表中的最後一個聯繫人之前插入「和」。
編輯
我現在有以下幾點:
這是在contact_letters_controllers.rb contacts_controller.rb
def full_name
[self.first_name, self.last_name].compact.join(" ")
end
(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| [email protected]_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
非常接近...一個挑戰。聯繫人有:first_name和:last_name,我如何將這些彙總爲一個:full_name? – Angela 2010-05-07 03:25:28
除此之外,我有一些工作,謝謝! – Angela 2010-05-07 03:25:45
你可以在'Contact'模型中添加'full_name'方法。看到我編輯的答案... – 2010-05-07 11:32:50