One model won't work like the others, generating weird error


#1

I’ve been banging my head against this for quite some time and can’t
figure out what is going on. I’m doing up a web site based on Typo and
adding in some custom controllers. I’m running Typo from trunk, so it’s
using the version of rails in vendor/rails. Everything is going
smoothly…until now.

I have one model that JUST. WON’T. WORK. Whenever I call it, I get the
following error:

(eval):1:in `compute_type’: compile error
(eval):1: parse error, unexpected tINTEGER
Object::2

The model itself couldn’t be any simpler:

class Team < ActiveRecord::Base
end

The controller calling it is as follows:

class RostersController < ContentController
layout :theme_layout
helper :articles
model :team

def index
ac_teams =
[‘COU’,‘TRI’,‘CAP’,‘BUF’,‘MCM’,‘WMS’,‘PHI’,‘BOW’,‘PAD’,‘STL’,‘POR’,‘LAW’]
nc_teams =
[‘SDQ’,‘CSP’,‘MIL’,‘CAJ’,‘HAG’,‘BUZ’,‘DTR’,‘COL’,‘SPO’,‘SEA’,‘MAD’,‘CRE’]
result = Team.find(:all)
#if params[:id] == “ac”
# @team_rosters = get_rosters(ac_teams)
#elsif params[:id] == “nc”
# @team_rosters = get_rosters(nc_teams)
#else
# @team_rosters = get_rosters(ac_teams)
# @team_rosters << get_rosters(nc_teams)
#end

end
end

It chokes on the Team.find line, spewing out the above-mentioned error.
Two other models that are in use work just fine.

Any thoughts? Suggestions? This is driving me nucking futs.


#2

(wow, answering oneself is so weird)

Turns out the problem was that one of the fields in the table was called
‘type’, and for whatever reason Rails didn’t like it.

Chris H. wrote:

Any thoughts? Suggestions? This is driving me nucking futs.


#3

Hi Chris,

Rails reserves columns named “type” for single table inheritance:
http://wiki.rubyonrails.org/rails/pages/SingleTableInheritance

I actually had this same problem and think it would be great if there
were
someway you could have a column named “type” without having single table
inheritance.

Daniel