加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – NoMethodError:未定义的方法`save’rails con

发布时间:2020-12-17 01:46:55 所属栏目:百科 来源:网络整理
导读:我正在从 ruby.railstutorial.org学习RoR,我创建了一个模型,当我试图向它添加数据并通过rails控制台保存时我得到了错误. (我使用 mysql) Rails控制台 User.new(username: "test",password: "test123",password_confirmation: "test123",email: "test@fs.in",
我正在从 ruby.railstutorial.org学习RoR,我创建了一个模型,当我试图向它添加数据并通过rails控制台保存时我得到了错误. (我使用 mysql)

Rails控制台

User.new(username: "test",password: "test123",password_confirmation: "test123",email: "test@fs.in",role: "admin" )
 => #<User id: nil,username: "test",role: "admin",created_at: "2012-01-01 00:00:00",updated_at: "2012-01-01 00:00:00",password_confirmation: "test123">

User.save给出了以下错误

NoMethodError: undefined method `save' for #<Class:0x0000000422b628> from /home/ramadas/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/gems/activerecord-3.2.9/lib/active_record/dynamic_matchers.rb:50:in `method_missing'
from (irb):15
from /home/ramadas/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/gems/railties-3.2.9/lib/rails/commands/console.rb:47:in `start'
from /home/ramadas/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/gems/railties-3.2.9/lib/rails/commands/console.rb:8:in `start'
from /home/ramadas/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/gems/railties-3.2.9/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

我的模特

class User < ActiveRecord::Base
  attr_accessible :email,:password,:password_confirmation,:role,:username
  validates :username,presence: true,length: { maximum: 50 }
  VALID_EMAIL_REGEX = /A[w+-.]+@[a-zd-.]+.[a-z]+z/i
  validates :email,format: { with: VALID_EMAIL_REGEX },uniqueness: { case_sensitive: false }
  before_save { |user| user.email = email.downcase }
  before_save { |user| user.username = username.downcase }
  validates :password,length: { minimum: 4 }
  validates :password_confirmation,presence: true
end

我已经检查了可能发生的每一个可能的错误,但没有找到解决方案.请帮我弄清楚并解决这个问题.

解决方法

你在调用User.save或User.new(用户名:…).保存?

类/模型User没有在其上定义的save方法,但类的实例(来自ActiveRecord :: Base).

请尝试以下方法:

user = User.new(username:...)
user.save

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读