Ruby on rails 未定义的“文本”方法&x27;对于nil:NilClass验证uniqness rails3 ruby 187
我刚刚从Rails2.3更新到3,我正在尝试用更干净的东西替换这个旧方法,因为它输出模型和字段名wtf 但是,当调用验证的唯一性(状态正常)时,我会出现上述错误。我传入了主id范围,但仍然得到了它。欢迎任何帮助Ruby on rails 未定义的“文本”方法&x27;对于nil:NilClass验证uniqness rails3 ruby 187,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我刚刚从Rails2.3更新到3,我正在尝试用更干净的东西替换这个旧方法,因为它输出模型和字段名wtf 但是,当调用验证的唯一性(状态正常)时,我会出现上述错误。我传入了主id范围,但仍然得到了它。欢迎任何帮助 def validate if org_name.blank? errors.add(:org_name, :blank, :default => nil) else if (org = Organization.find_b
def validate
if org_name.blank?
errors.add(:org_name, :blank, :default => nil)
else
if (org = Organization.find_by_org_name(org_name)) && org != self
errors.add(:org_name, :taken, :default => nil, :value => org_name)
end
end
end
到
这是Rails 3唯一性有效性语法: 验证:org\u name,唯一性:{scope::org\u id}这很容易修复 首先,分析错误消息: 缺少组织名称翻译: en.activerecord.errors.models.user.attributes.org_name.blank 这是由以下代码行引起的:
errors.add(:org_name, :blank, :default => nil)
当您调用上面的代码时,您告诉rails要查找键为:blank
的翻译。您可能还没有设置,所以要做到这一点,只需进入您的locales文件(config/locales/en.yml),并添加以下内容:
en:
hello: "Hello world"
activerecord:
errors:
models:
organization:
attributes:
org_name:
blank: "can't be blank."
希望这能帮你解决问题
en:
hello: "Hello world"
activerecord:
errors:
models:
organization:
attributes:
org_name:
blank: "can't be blank."