Rails 教程 - 2.5.2 无法使验证练习正常工作



我在Rails教程中学习第2章末尾的练习,但我被难住了。www.railstutorial.org/book/toy_app#sec-to-y_app_exercises

任务2说:"更新清单2.19,用适当的代码替换FILL_IN,以验证用户模型中是否存在名称和电子邮件属性(图2.20(。">

而且非常直接清单2.19:

Adding presence validations to the User model. app/models/user.rb
class User < ActiveRecord::Base
  has_many :microposts
  validates FILL_IN, presence: true
  validates FILL_IN, presence: true
end

我做的第一件事是典型的noob错误,直接从清单中复制代码。系统回来问我这个变量"FILL_IN"是什么。

我做的下一件事是尝试在我的user.rb文件中输入字段名

class User < ActiveRecord::Base
    has_many :microposts
    validates name, presence: true
    validates email, presence: true
end

运行此程序,会得到以下错误"UsersController#create中的名称错误"#的未定义本地变量或方法`email'">

Rails的行为就像它无法识别我的模型中的电子邮件或名称字段。

我试过将Name和Email大写,我试过使它们成为复数,我试着去"rails控制台"验证我是否正确创建了字段"Name"one_answers"Email"(我做到了(。

我试着寻找这个问题的答案,我来的壁橱里有人只是在粘贴电影台词,然后被鱼叉钩住。

我希望我没有错过同样明显的事情,但如果我错过了,我已经做好了准备。

@章鱼保罗太棒了,变量名前面的冒号(:(正是我所需要的。

class User < ActiveRecord::Base
    has_many :microposts
    validates :name, presence: true
    validates :email, presence: true
end

最新更新