错误的rails错误提示... 真晕
当前位置:首页 ----> Web开发 ----> Ruby/Python
关键词:rails,yield,Class,read,find read,test
jack:
相关文章: X    疑问:yield到底是怎样运作的?    <img src=http://www.javaeye.com/images/icon_more.gif/>          遇到了一个错误的错误提示,真是晕死了.写在这里,给相同可能遇到的同学提个醒 表A为表B的子表 Class A中有一个function read_a 然后我写错了代码 :a)
test.a.read_a
上面的代码是写错了的,可是错误提示是这样的 引用NoMethodError (undefined method `read_a' for A:Class): 看到这个错误我就傻了,read_a明明有的阿,怎样提示没有 ........................ 想尽各种办法,问题依旧.但是直接  a = A.find(1)
a.read_a
就没有问题. read_a的unit test也没错 最后没法子,开始怀疑test不是A class.分别调用了下  test.a.class 和 a.class. 晕,test.a 是Array .......................... 从一开始就让rails的这个错误的错误提示给打懵了.费了差不多一个小时.


uncutstone:
jack 写道 然后我写错了代码 :a)
test.a.read_a
最后没法子,开始怀疑test不是A class.分别调用了下  test.class 和 a.class. 晕,test 是Array .......................... 我怎样以为您不仅是代码写错了,您的文字中也有很多错误! test.a 这个写法可以通过语法检查吗? 不是 test.as? test 是 Array ? 您是不是想说 test.as 是 Array?


alang:
态度不认真


jack:
uncutstone 写道jack 写道 然后我写错了代码 :a)
test.a.read_a
最后没法子,开始怀疑test不是A class.分别调用了下  test.class 和 a.class. 晕,test 是Array .......................... 我怎样以为您不仅是代码写错了,您的文字中也有很多错误! test.a 这个写法可以通过语法检查吗? 不是 test.as? test 是 Array ? 您是不是想说 test.as 是 Array? 抱歉 这个写的随意了点,改正下文字错误. 不过我在B class 写入的是 has_many :a 上面的代码语法是检测的过的.


jack:
alang 写道态度不认真 对于rails各种规则还在尝试中,难免有错.


cookoo:
您是不是把表复数约定关掉了?假如B has_many :a照理说:include => :a和test.a都会出错的。这种问题最好在console里玩一会就明了了。


jack:
cookoo 写道 :a和test.a都会出错的。这种问题最好在console里玩一会就明了了。 不过这个错误提示实在是误导性很强.这个错误也是修改出来. 第一次的代码用到是a的数组.第二次.已经是隔了几天的情况下,我在class A中加入了 read_a,然后想在这里使用read_a的返回结果.于是就修改成test.a.read_a了.出现了这个不正确的错误提示... 假如能够直接提示Array没有这个函数,那也就不会被搞晕了.
原文出处:http://www.javaeye.com/topic/27768