ruby-on-rails rails - 從Ruby控制台創建一個設計用戶





devise new_with_session (5)


以上答案都不適合我。

這就是我所做的:

User.create(email: "[email protected]", password: "asdasd", password_confirmation: "asdasd")

請記住,密碼必須大於6個字符。

有關如何使用設計從ruby控制台創建和保存新User對象的任何想法?

當我試圖挽救它的時候,我總是虛假的。 我想我錯過了一些東西,但我無法找到任何相關信息。




如果需要,您可以將save添加到save方法以跳過驗證。

User.new({:email => "[email protected]", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" }).save(false)

否則,我會這樣做

User.create!({:email => "[email protected]", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" })

如果您為Time.now啟用了可confirmable模塊,請確保在創建時將Time.now值設置為Time.now類的值。




你應該可以使用這個

u = User.new(:email => "[email protected]", :password => 'password', :password_confirmation => 'password')
u.save

如果這返回false,則可以調用

u.errors

看看出了什麼問題。




如果您想避免發送確認電子郵件 ,最好的選擇是:

    u = User.new({
      email: '[email protected]',
      password: '12feijaocomarroz',
      password_confirmation: '12feijaocomarroz'
    })

    u.confirm!
    u.save

所以如果你使用假電子郵件或沒有互聯網連接,這將避免錯誤。




上面的答案已經相當不錯了,但我真的很想分享下面的總結文章:“ http://tech.natemurray.com/2007/03/ruby-shell-commands.html

基本上,它告訴我們:

Kernel#exec

exec 'echo "hello $HOSTNAME"'

system$?

system 'false' 
puts $?

反引號(`):

today = `date`

IO#popen

IO.popen("date") { |f| puts f.gets }

Open3#popen3 - stdlib:

require "open3"
stdin, stdout, stderr = Open3.popen3('dc') 

Open4#popen4 - 寶石:

require "open4" 
pid, stdin, stdout, stderr = Open4::popen4 "false" # => [26327, #<IO:0x6dff24>, #<IO:0x6dfee8>, #<IO:0x6dfe84>]




ruby-on-rails ruby devise