Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.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 为什么迁移中的change_列不起作用?_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 为什么迁移中的change_列不起作用?

Ruby on rails 为什么迁移中的change_列不起作用?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我在add_列之后使用了这个值,但是当我将该值保留为空时,它不会显示任何错误。为什么以及如何捕获错误?您应该在模型中使用验证: change_column :posts, :ID, :string, :null => false 最好不要使用:id来存储一些字符串。此列名保留在Rails中。非常感谢。确实如此。 class Post < ActiveRecord::Base validates :column_name, presence: true end

我在add_列之后使用了这个值,但是当我将该值保留为空时,它不会显示任何错误。为什么以及如何捕获错误?

您应该在模型中使用验证:

change_column :posts, :ID, :string, :null => false

最好不要使用:id来存储一些字符串。此列名保留在Rails中。

非常感谢。确实如此。
class Post < ActiveRecord::Base
  validates :column_name, presence: true
end