2015-05-05 93 views
2

我需要在终端用命令生成创建模型ActiveRecord的模式
rails generate model ...Ruby on Rails的生成设置

如何设置独特的验证柱上的一个,并使用该命令primary_key场的名字吗? 我发现这怎么可能这样做:
rails g model model_name field_name1:type:uniq field_name2:type:primary_key...

它将为数据库primary_key和独特性与迁移的某些字段的表。不过,我想定义ActiveRecord模型的设置,该模型将存储在我的项目的“模型”文件夹中的“ModelName.rb”文件中。

现在我调用ModelName.validates_uniqueness_of(:field_name)方法,每次当我与模型的记录进行操作,以防止对:field_name1

+3

将您的模型配置为进行验证,而不是手动进行验证。请参考[this](http://guides.rubyonrails.org/active_record_validations.html#uniqueness) – Abhi

+0

正如@Abhi所说,它不在该生成器的范围之内。他们的目的是让你的准系统(脚手架),然后改变它做你想要的。 – DickieBoy

回答

0

添加有重复值的记录,您可以使用验证助手uniqueness: true这验证了该属性的值的唯一正确的前对象被保存。

class ModelName < ActiveRecord::Base 
    validates :field_name1 uniqueness: true 
end 

而且,作为@Abhi指出了你,先看看Active Record Validations文档。