> Hi, > I am forced to use an old database with rails. > > Relevant db structure; > > mysql> select id,permission,incid from acl group by id; > +----+------------+-------+ > | id | permission | incid | > +----+------------+-------+ > | 1 | 58 | 1 | > | 2 | 57 | 25 | > | 3 | 57 | 32 | > +----+------------+-------+ > > Show create table acl: > > CREATE TABLE `acl` ( > id` int(4) NOT NULL, > ..... > `incid` int(11) NOT NULL auto_increment, > PRIMARY KEY (`id`,`type`,`seq`,`incid`), > UNIQUE KEY `incid` (`incid`) > > So the primary key that I want to use in place of id is "incid" > > "id" contains some acl ids and is not auto increment (has multiple > rows returned per one `id`). > > My model looks like this: > > class Acl < ActiveRecord::Base > set_table_name :acl; > set_primary_key :incid; > def self.primary_key() 'incid'; end > self.primary_key = 'incid'; > set_inheritance_column :ruby_id; > end > > script/console>> r = Acl.find(2); <-- that's checking for `incid` > > ?> r.id > => 2 > > > > log: > Acl Load (0.3ms) SELECT * FROM `acl` WHERE (`acl`.`incid` = 2) > > script/console>> r = Acl.find(31); > > ?> r.id > => 31 > Acl Load (0.3ms) SELECT * FROM `acl` WHERE (`acl`.`incid` = 31) > > So, instead of r.id returning the value of the `id` field , it returns > the value for the incid field. > > For the second example it should have returned `2` instead of `31` > which is actually the value of `incid` > > mysql> select id,permission,incid from acl where incid='31'; > +----+------------+-------+ > | id | permission | incid | > +----+------------+-------+ > | 2 | 57 | 31 | > +----+------------+-------+ > > What should my model look like to be able to get the value of the `id` > field? > > Dan
just use model.attributes[:id] or model.read_attribute :id --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

