Bất kỳ ý tưởng nào về cách tạo và lưu một đối tượng Người dùng mới với phát minh từ bảng điều khiển ruby?
Khi tôi cố gắng cứu nó, tôi luôn luôn sai. Tôi đoán tôi đang thiếu một cái gì đó nhưng tôi không thể tìm thấy bất kỳ thông tin liên quan.
Bất kỳ ý tưởng nào về cách tạo và lưu một đối tượng Người dùng mới với phát minh từ bảng điều khiển ruby?
Khi tôi cố gắng cứu nó, tôi luôn luôn sai. Tôi đoán tôi đang thiếu một cái gì đó nhưng tôi không thể tìm thấy bất kỳ thông tin liên quan.
Câu trả lời:
Bạn có thể thêm false vào phương thức lưu để bỏ qua các xác nhận nếu bạn muốn.
User.new({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" }).save(false)
Nếu không tôi sẽ làm điều này
User.create!({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" })
Nếu bạn đã confirmable
bật mô-đun cho phát minh, hãy đảm bảo bạn đang đặt confirmed_at
giá trị thành thứ gì đó giống như Time.now
trong khi tạo.
Bạn sẽ có thể làm điều này bằng cách sử dụng
u = User.new(:email => "user@name.com", :password => 'password', :password_confirmation => 'password')
u.save
Nếu điều này trả về sai, bạn có thể gọi
u.errors
để xem những gì đã đi sai.
Confirmable
, cuộc gọiu.confirm!
Khi trên mô hình của bạn có: tùy chọn có thể xác nhận, điều này có nghĩa là người dùng đối tượng nên được xác nhận trước. Bạn có thể làm hai cách để cứu người dùng.
a. đầu tiên là bỏ qua xác nhận:
newuser = User.new({email: 'superadmin1@testing.com', password: 'password', password_confirmation: 'password'})
newuser.skip_confirmation!
newuser.save
b. hoặc sử dụng xác nhận! :
newuser = User.new({email: 'superadmin2@testing.com', password: 'password', password_confirmation: 'password'})
newuser.confirm!
newuser.save
Nếu bạn muốn tránh gửi email xác nhận , lựa chọn tốt nhất là:
u = User.new({
email: 'demo@greenant.com.br',
password: '12feijaocomarroz',
password_confirmation: '12feijaocomarroz'
})
u.confirm
u.save
Vì vậy, nếu bạn đang sử dụng email giả hoặc không có kết nối internet, điều đó sẽ tránh được các lỗi.
confirm!
giờ chỉ làconfirm
Không có câu trả lời nào ở trên làm việc cho tôi.
Đây là những gì tôi đã làm:
User.create(email: "a@a.com", password: "asdasd", password_confirmation: "asdasd")
Hãy nhớ rằng mật khẩu phải lớn hơn 6 ký tự.