我在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