如何在RubyonRails中创建英语语言列表(name1、name2和name3)?
很可能我错过了rails的魔力,但我猜它将出现在Ruby中 我有一个叫Company的模型,它有很多联系人 假设公司有联系人1、联系人2、联系人3和联系人4 当我为每个联系人创建textblog时,我希望输出以下内容(其中Contact=Contact 1) “嗨,联系1, 我还写信给联系人2、联系人3和联系人4。” 因此,它需要提取问候语中的联系人,然后列出他们,在列表中最后一个联系人之前插入“and” 编辑 我现在有以下资料:如何在RubyonRails中创建英语语言列表(name1、name2和name3)?,ruby,string,Ruby,String,很可能我错过了rails的魔力,但我猜它将出现在Ruby中 我有一个叫Company的模型,它有很多联系人 假设公司有联系人1、联系人2、联系人3和联系人4 当我为每个联系人创建textblog时,我希望输出以下内容(其中Contact=Contact 1) “嗨,联系1, 我还写信给联系人2、联系人3和联系人4。” 因此,它需要提取问候语中的联系人,然后列出他们,在列表中最后一个联系人之前插入“and” 编辑 我现在有以下资料: contacts = Company.contacts.coll
contacts = Company.contacts.collect(&:name)
contacts.each do |contact|
other_contacts = contacts.reject{ |c| c==contact }
p "Hi, #{contact}, I am also writing to #{other_contacts.to_sentence}"
end
这在contacts_controller.rb中
def full_name
[self.first_name, self.last_name].compact.join(" ")
end
在contact_letters_controllers.rb中(contact_letters是带有字母的已执行联系人)
我相信这就是你要找的
您可以尝试以下方法:
contacts = Company.contacts.collect(&:name)
contacts.each do |contact|
other_contacts = contacts.reject{ |c| c==contact }
p "Hi, #{contact}, I am also writing to #{other_contacts.to_sentence}"
end
我没有测试这段代码,所以如果这不起作用,请原谅我
编辑
此方法将返回联系人的全名。如果您还有一个middle\u name
属性,则可以添加到数组中。如果任何属性为nil
,此方法仍然有效
def full_name
[self.first_name, self.last_name].compact.join(" ")
end
我相信这就是你要找的
您可以尝试以下方法:
contacts = Company.contacts.collect(&:name)
contacts.each do |contact|
other_contacts = contacts.reject{ |c| c==contact }
p "Hi, #{contact}, I am also writing to #{other_contacts.to_sentence}"
end
我没有测试这段代码,所以如果这不起作用,请原谅我
编辑
此方法将返回联系人的全名。如果您还有一个middle\u name
属性,则可以添加到数组中。如果任何属性为nil
,此方法仍然有效
def full_name
[self.first_name, self.last_name].compact.join(" ")
end
非常接近…一个挑战。联系人有:first_name和:last_name,如何将它们聚合为一个:full_name?您可以在您的
联系人
模型中添加full_name
方法。请看我编辑的答案……嗨,谢谢——那么我该把方法放在哪里呢?我已经编辑好了来展示我所做的…谢谢。此更改创建了一个未定义的方法:未定义的方法'full_name'您必须将该方法置于Contact
model。非常接近…一个挑战。联系人有:first_name和:last_name,如何将它们聚合为一个:full_name?您可以在您的联系人
模型中添加full_name
方法。请看我编辑的答案……嗨,谢谢——那么我该把方法放在哪里呢?我已经编辑好了来展示我所做的…谢谢。此更改创建了一个未定义的方法:未定义的方法“全名”您必须将该方法放在联系人
模型上。