ruby-on-rails – 为什么在Rails 5.0中未定义方法column_types?
发布时间:2020-12-17 03:42:35 所属栏目:百科 来源:网络整理
导读:我正在为一个类做一个赋值,它在rspec测试中使用column_types方法. it "User database structure in place" do expect(User.column_names).to include "password_digest","username" expect(User.column_types["username"].type).to eq :string expect(User.c
我正在为一个类做一个赋值,它在rspec测试中使用column_types方法.
it "User database structure in place" do expect(User.column_names).to include "password_digest","username" expect(User.column_types["username"].type).to eq :string expect(User.column_types["password_digest"].type).to eq :string expect(User.column_types["created_at"].type).to eq :datetime expect(User.column_types["updated_at"].type).to eq :datetime 结束 错误:当我在命令行中运行rpsec时. 失败/错误:期望(User.column_types [“username”].type).to eq:string NoMethodError: undefined method `column_types' for #<Class:0x000000053a0188> Did you mean? columns column_names # ./spec/assignment_spec.rb:67:in `block (5 levels) in <top (required)>' # ./spec/assignment_spec.rb:14:in `block (2 levels) in <top (required)>' 解决方法
该方法在
this commit中被删除.找到它并不容易.
但是,原因是没有记录,这是因为方法本身没有记录(也许它只是供内部使用). 有关方法,请参见this comment:nodoc: def column_types # :nodoc: @column_types ||= columns_hash.transform_values(&:cast_type).tap do |h| h.default = Type::Value.new end end 您可以阅读commit’s描述以了解原因,也可以看看是否还有其他可以做的事情. 编辑 看看these lines也许attributes_types或columns_hash可以解决你的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容