我想以非常特殊的方式爲我的數據庫播種。這裏是我的/db/seeds.rb文件:爲什麼rake db:種子沒有像預期的那樣行爲?
# creates a school in a local database.
test_school = School.find_or_create_by_email(school_name: "Test School One", client_user_name: 'admin', client_password: 'Secretz1', fname: 'John', lname: 'doe', client_short_code: "72727", email: '[email protected]')
# creates a user in local database
test_user = User.find_or_create_by_email(email: test_school.email, password: test_school.client_password, full_name: test_school.full_name, user_role: 'admin', school_id: test_school.id)
# creaate school via API
results = School.create_via_api test_school
if results[0].to_i == 0
test_school.update_attribute :client_number, results[2].split(" ").first
SchoolMailer.registration_confirmation(test_user, test_school).deliver
else
test_school.destroy
test_user.destroy
end
# an array of keyword topics
keywords_ary = ["lunch", "schoolout?", "thenews", "holidays", "buses", "help"]
# create a keyword object for each topic in the above array
keywords_ary.each do |n|
message = ""
Array(1..5).each do |i|
message += "#{i}. Test for @ts#{n}\n"
end
Keyword.find_or_create_by_user_id(
name: "@ts#{n} test", keyword: "@ts#{n}",
message1: message,
user_id: test_user.id
)
end
# create each of the keywords via API
test_user.keywords.each do |keyword|
results = Keyword.create_on_avid keyword, test_user
if results[0].to_i == 0
#save the api id to the local database
keyword.update_attribute :keyword_id, results[2]
else
keyword.destroy
end
end
那麼是什麼問題?好吧,當我檢查我的數據庫只有第一個關鍵字創建,併爲關鍵字MESSAGE1場看起來是這樣的:
--- - 1 - 2 - 3 - 4 - 5
當它應該是這樣的:
1. this is a test for @tslunch
2. this is a test for @tslunch
3. this is a test for @tslunch
4. this is a test for @tslunch
5. this is a test for @tslunch
我做有問題?
出於興趣:爲什麼一切都是雙倍間隔? –
我不知道,它不在我的編輯器中。我複製並粘貼,但沒有真正關注間距。 –
好的。我爲你解決它。你在哪裏看到這個message1字段?你如何從數據庫中檢索該值? –