2015-11-03 30 views
0

我創建了一個API來從一系列電子郵件中創建一個新用戶(複數)。通過一系列電子郵件創建用戶

我們假設除用戶需要電子郵件之外,沒有驗證。所以我只需要一封電子郵件來創建一個用戶。

我這樣做的原因是因爲我正在創建一個API。

如何從一組電子郵件中創建用戶?

這是數組。我其實有真正的電子郵件,但對於這個例子,我會做出來的。

# => [ 
#  [0] "[email protected]", 
#  [1] "[email protected]", 
#  [2] "[email protected]", 
#  [3] "[email protected]", 
#  [4] "[email protected]" 
# ] 

爲了創建這只是典型的方式提前爲任何幫助

User.new(email: [email protected]) 

感謝用戶。

回答

1

做到這一點的方法是somethign像

user_emails.each do |user_email| 
    User.create(email: user_emails) 
end 
1

要保存基於陣列上的記錄,你會想該數組存儲在一個變量(記住,在Ruby中,一切都是對象)。比方說,你有:

emails = ["[email protected]", 
      "[email protected]", 
      "[email protected]", 
      "[email protected]", 
      "[email protected]"] 

從那裏,你可以寫一個循環,在你可愛的陣列進行迭代,並且爲你聲明的每個數組項創建一個用戶:

emails.each do |e| 
    User.create(email: e) 
end 

用戶。 不會保存記錄,所以請使用用戶。 創建

1

如果你只是想保存基於郵件列表(這是一個基於你的描述的數組)的記錄,你只需要像@ l0010o0001l所說的(我喜歡這個暱稱!:))做所有事情。 但在我看來,如果這個api會提供給其他人,你可以做更多的事情。

首先,您應該先將小寫的所有單詞格式化爲電子郵件地址,然後再保存它們。這對於保存新記錄或保留舊記錄可能會有很大的幫助。就像:

emails.each do |email| 
    User.create(email: email.downcase) 
end 

然後,您需要將結果呈現給調用api的人。就像:如果所有電子郵件列表已成功創建,您可以使用成功創建的記錄數量進行響應。如果某些記錄無法創建(格式錯誤,記錄已存在.etc),則應回覆錯誤信息(您可能需要使用user.errors.full_messages來獲取錯誤消息)。

相關問題