Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails生成包含验证的模型?_Ruby On Rails_Ruby On Rails 4_Command Line Arguments_Generator_Models - Fatal编程技术网

Ruby on rails Rails生成包含验证的模型?

Ruby on rails Rails生成包含验证的模型?,ruby-on-rails,ruby-on-rails-4,command-line-arguments,generator,models,Ruby On Rails,Ruby On Rails 4,Command Line Arguments,Generator,Models,我想知道是否有人知道这样做的方法: rails generate model Foo name:string, validates: {:name, uniqueness: true} 也就是说,在声明具有某些属性的模型生成器时,使用一些rails魔术来同时添加验证。没有。rails生成模型命令直接绑定到数据库功能。例如,您应该能够执行如下命令:rails生成模型Foo name:string:uniq。这将迫使数据库要求名称具有唯一的字符串。这不会向foo.rb文件添加任何内容 以下是有关r

我想知道是否有人知道这样做的方法:

rails generate model Foo name:string, validates: {:name, uniqueness: true}

也就是说,在声明具有某些属性的模型生成器时,使用一些rails魔术来同时添加验证。

没有。rails生成模型命令直接绑定到数据库功能。例如,您应该能够执行如下命令:rails生成模型Foo name:string:uniq。这将迫使数据库要求名称具有唯一的字符串。这不会向foo.rb文件添加任何内容

以下是有关rails模型生成的更多信息:

正如其他人所说,目前还没有一种方法可以做到这一点。
rails generate model
命令的大多数特殊选项都是通过中的
parse_type_和_options
方法解析的。然后,将使用此信息构建模型和迁移文件

创建的模型文件的模板为。在Rails 4中,此模板可以为
所属
多态
添加特殊代码,并且
具有安全密码
,但与验证无关


创建的迁移文件模板为。在Rails 4中,这可以为
限制
十进制
,以及
精度
,添加特殊选项,但您不能。您可以使用
railsgmodel-h
检查所有可用选项以生成模型。感谢所有帮助,我希望我可以选择多个答案。我选择的答案纯粹是因为它涉及到一些较低级别的概念,这些概念在我目前正在实现的解决方案中非常有用