【发布时间】:2015-01-19 09:18:27
【问题描述】:
我在 Rails 教程中做第 2 章末尾的练习,我很困惑。 www.railstutorial.org/book/toy_app#sec-toy_app_exercises
作业 2 说,“更新清单 2.19,用适当的代码替换 FILL_IN,以验证 User 模型中是否存在 name 和 email 属性(图 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
我做的第一件事是典型的菜鸟错误,直接从清单中复制代码。系统回来问我这个变量“FILL_IN”是什么。
接下来我做的是尝试将字段名称放入我的 user.rb 文件中
class User < ActiveRecord::Base
has_many :microposts
validates name, presence: true
validates email, presence: true
end
Running this, gets me a the following error “用户控制器中的名称错误#create” "# 的未定义局部变量或方法 `email'"
Rails 表现得好像它无法识别我模型中的电子邮件或名称字段。
我尝试过大写名称和电子邮件,我尝试将它们设为复数,我尝试转到“rails 控制台”以验证我是否正确创建了字段“名称”和“电子邮件”(我做到了)。
我已经尝试寻找这个问题的答案,我来的壁橱是someone just pasting in the FILL_IN lines and getting harpooned for it.
我希望我没有错过同样明显的事情,但如果我错过了,我已经做好了准备。
【问题讨论】:
-
你的数据库架构是什么?
-
使用
validates :name, presence: true,validates :email, presence: true(我使用符号作为列名)
标签: ruby-on-rails railstutorial.org