浏览 4337 次
锁定老帖子 主题:错误的rails错误提示... 真晕
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-15
表A为表B的子表 Class A中有一个function read_a 然后我写错了代码 test = B.find(1,:include=>: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的这个错误的错误提示给打懵了.费了差不多一个小时. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-10-15
jack 写道 然后我写错了代码 test = B.find(1,:include=>:a) test.a.read_a 最后没法子,开始怀疑test不是A class.分别调用了下 test.class 和 a.class. 晕,test 是Array .......................... 我怎么觉得你不仅是代码写错了,你的文字中也有很多错误! test.a 这个写法可以通过语法检查吗? 不是 test.as? test 是 Array ? 你是不是想说 test.as 是 Array? |
|
返回顶楼 | |
发表时间:2006-10-15
态度不认真
|
|
返回顶楼 | |
发表时间:2006-10-15
uncutstone 写道 jack 写道 然后我写错了代码 test = B.find(1,:include=>: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 上面的代码语法是检测的过的. |
|
返回顶楼 | |
发表时间:2006-10-15
alang 写道 态度不认真
对于rails各种规则还在尝试中,难免有错. |
|
返回顶楼 | |
发表时间:2006-10-15
你是不是把表复数约定关掉了?如果B has_many :a照理说:include => :a和test.a都会出错的。这种问题最好在console里玩一会就明了了。
|
|
返回顶楼 | |
发表时间:2006-10-15
cookoo 写道 你是不是把表复数约定关掉了?如果B has_many :a照理说:include => :a和test.a都会出错的。这种问题最好在console里玩一会就明了了。
不过这个错误提示实在是误导性很强.这个错误也是修改出来. 第一次的代码用到是a的数组.第二次.已经是隔了几天的情况下,我在class A中加入了 read_a,然后想在这里使用read_a的返回结果.于是就修改成test.a.read_a了.出现了这个不正确的错误提示... 如果能够直接提示Array没有这个函数,那也就不会被搞晕了. |
|
返回顶楼 | |