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可以解决你的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
