错误:活动记录查询缺少方法:find_by_attribute_name('test_data')不起作用

时间:2019-01-28 11:36:10

标签: mysql ruby-on-rails-4 activerecord

我将数据从oracle db传输到mysql db,并尝试通过查询Model_Name.find_by_attribute_name('test_data')访问数据

我的表格的属性名称用大写字母表示。尝试以小写形式获取属性名称的数据时,生成错误“方法丢失”

EG:

表名称(产品)(ID(1),CODE(“测试”))

工作:Product.find_by_CODE(“测试”)

不起作用:Product.find_by_code(“测试”)

error:gems/activerecord-4.0.13/lib/active_record/dynamic_matchers.rb:22:in method_missing':未定义的方法find_by_code' for #<Class:0x00000005fee8b8> (NoMethodError)

我在oracle数据库中没有区分大小写的问题。

请帮助我。 预先感谢。

1 个答案:

答案 0 :(得分:0)

问题在于CODE是MySQL中的保留字,因此您不能将其用作列名:https://dev.mysql.com/doc/refman/5.5/en/keywords.html

您必须将列重命名为该列表中没有的内容,并且一切都应该没问题。