當我運行種子程序將用戶添加到我的Rails應用程序時,發生了一件非常奇怪的事情 - 其中一列完全拒絕填充。這是一個用戶填充方法,其中包含由Faker gem生成的一些元素。Rake db:seed拒絕將數據插入到特定的數據庫列
Faker項目工作得很好,插入到數據庫中,除了Faker :: Avatar方法。所以我決定嘗試用我自己的自定義字符串和隨機生成的頭像號碼。但沒有任何工作。
下面是從架構中的用戶表:
create_table "users", force: :cascade do |t|
t.string "email", limit: 191, default: "", null: false
t.string "encrypted_password", limit: 191, default: "", null: false
t.string "reset_password_token", limit: 191
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", limit: 4, default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip", limit: 191
t.string "last_sign_in_ip", limit: 191
t.datetime "created_at"
t.datetime "updated_at"
t.string "first_name", limit: 45
t.string "last_name", limit: 45
t.string "username", limit: 30
t.string "location", limit: 191
t.text "profile", limit: 65535
t.string "avatar", limit: 191
end
這裏是用戶的播種方法:
1.times do
user = User.create!(
first_name: Faker::Name.first_name,
last_name: Faker::Name.last_name,
username: Faker::Internet.user_name,
email: Faker::Internet.safe_email,
password: Faker::Internet.password(8, 16),
location: Faker::Address.city + ', ' + Faker::Address.state,
profile: Faker::Lorem.sentence(rand(15..60)),
avatar: 'avatar' + Random.rand(1...180).to_s + '.jpg'
我試圖弄清楚爲什麼我不能插入任何東西到Faker或我自己的字符串的頭像列中。這似乎很奇怪!
您可以附上您的用戶模型和服務器日誌的一部分嗎? – hedgesky
如果您更改爲'avatar:'avatar.jpg',它會工作嗎? –
我也嘗試過,'avatar-default.jpg.'也不行。 – CraneWing