`
foxty
  • 浏览: 136485 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

rails bug 如果表字段有名字为type的bug

阅读更多

  今天在做开发的时候遇到一个莫名奇妙的问题,后来才发现是表中有字段名字叫type引起的,还是在http://dev.rubyonrails.org/ticket/7998 上发现原来是rails的一个bug,发出来,免得大家遇到相同的问题。

Ticket #7998 (new defect)

Opened 2 months ago

Last modified 2 weeks ago

Scafford should detect & report error when DB field named 'type'

Reported by: Assigned to: Priority: Milestone: Component: Version: Severity: Keywords: Cc:  
dlametcore
normal1.x
ActiveRecordedge
normalfield name error tINTEGER
  

Description

When generating a scaffold, it will accept a table that has a field named type. This causes a crypic error inside base.rb:

compile error c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1358: syntax error, unexpected tINTEGER Object::1

It would save a lot of people (like me) a lot of time if the scaffold code would fail with a useful error about the field name being 'type'.

Change History

05/22/07 00:51:47 changed by mlopes

I would like to second that. I just came across the exact same problem and for a newbie it can be really a cumbersome issue.

A warning should be used whenever a field name type exists. Better yet, it shouldn't be a problem at all.

05/29/07 20:37:33 changed by josh

  • type changed from enhancement to defect.
分享到:
评论
3 楼 hozaka 2007-06-15  
好像通过 product.attributes[:type] 可以访问
2 楼 dogstar 2007-06-15  
type记得是rails数据库魔法的一个小tricky,你用来干其他事情了。估计就出错了。
1 楼 liubin 2007-06-14  
像type和name之类的有可能是关键字的词还是少用为好。

相关推荐

Global site tag (gtag.js) - Google Analytics