[#15359] Timeout::Error — Jeremy Thurgood <jerith@...>

Good day,

41 messages 2008/02/05
[#15366] Re: Timeout::Error — Eric Hodel <drbrain@...7.net> 2008/02/06

On Feb 5, 2008, at 06:20 AM, Jeremy Thurgood wrote:

[#15370] Re: Timeout::Error — Jeremy Thurgood <jerith@...> 2008/02/06

Eric Hodel wrote:

[#15373] Re: Timeout::Error — Nobuyoshi Nakada <nobu@...> 2008/02/06

Hi,

[#15374] Re: Timeout::Error — Jeremy Thurgood <jerith@...> 2008/02/06

Nobuyoshi Nakada wrote:

[#15412] Re: Timeout::Error — Nobuyoshi Nakada <nobu@...> 2008/02/07

Hi,

[#15413] Re: Timeout::Error — Jeremy Thurgood <jerith@...> 2008/02/07

Nobuyoshi Nakada wrote:

[#15414] Re: Timeout::Error — Nobuyoshi Nakada <nobu@...> 2008/02/07

Hi,

[#15360] reopen: can't change access mode from "w+" to "w"? — Sam Ruby <rubys@...>

I ran 'rake test' on test/spec [1], using

16 messages 2008/02/05
[#15369] Re: reopen: can't change access mode from "w+" to "w"? — Nobuyoshi Nakada <nobu@...> 2008/02/06

Hi,

[#15389] STDIN encoding differs from default source file encoding — Dave Thomas <dave@...>

This seems strange:

21 messages 2008/02/06
[#15392] Re: STDIN encoding differs from default source file encoding — Yukihiro Matsumoto <matz@...> 2008/02/06

Hi,

[#15481] very bad character performance on ruby1.9 — "Eric Mahurin" <eric.mahurin@...>

I'd like to bring up the issue of how characters are represented in

16 messages 2008/02/10

[#15528] Test::Unit maintainer — Kouhei Sutou <kou@...>

Hi Nathaniel, Ryan,

22 messages 2008/02/13

[#15551] Proc#curry — ts <decoux@...>

21 messages 2008/02/14
[#15557] Re: [1.9] Proc#curry — David Flanagan <david@...> 2008/02/15

ts wrote:

[#15558] Re: [1.9] Proc#curry — Yukihiro Matsumoto <matz@...> 2008/02/15

Hi,

[#15560] Re: Proc#curry — Trans <transfire@...> 2008/02/15

[#15585] Ruby M17N meeting summary — Martin Duerst <duerst@...>

This is a rough translation of the Japanese meeting summary

19 messages 2008/02/18

[#15596] possible bug in regexp lexing — Ryan Davis <ryand-ruby@...>

current:

17 messages 2008/02/19

[#15678] Re: [ANN] MacRuby — "Rick DeNatale" <rick.denatale@...>

On 2/27/08, Laurent Sansonetti <laurent.sansonetti@gmail.com> wrote:

18 messages 2008/02/28
[#15679] Re: [ANN] MacRuby — "Laurent Sansonetti" <laurent.sansonetti@...> 2008/02/28

On Thu, Feb 28, 2008 at 6:33 AM, Rick DeNatale <rick.denatale@gmail.com> wrote:

[#15680] Re: [ANN] MacRuby — Yukihiro Matsumoto <matz@...> 2008/02/28

Hi,

[#15683] Re: [ANN] MacRuby — "Laurent Sansonetti" <laurent.sansonetti@...> 2008/02/28

On Thu, Feb 28, 2008 at 1:51 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

weird behavior of belongs_to referencing a model with set_table_name : a bug?

From: "Yuri Leikind" <yuri.leikind@...>
Date: 2008-02-06 10:06:30 UTC
List: ruby-core #15375
Hello all,
Since nobody answered the letter below in rubyonrails-talk, I've taken the
courage to repost it here.
I looks like a bug, but I just refuse to believe it as it is such a basic
functionality of Active Record.

---------- Forwarded message ----------
From: Yuri Leikind <yuri.leikind@gmail.com>
Date: 5 feb. 2008 13:24
Subject: weird behavior of belongs_to referencing a model with
set_table_name
To: rubyonrails-talk@googlegroups.com

Hello all,

I am experiencing some really weird behavior of belongs_to with a model
where the table name is set by set_table_name


I have two simple models:


=== file legal_entity.rb


class LegalEntity < ActiveRecord::Base
  set_table_name 'legalentities'
end




=== file legal_entity_person.rb


class LegalEntityPerson < ActiveRecord::Base

  set_table_name 'legalentities_people'

  belongs_to :legal_entity, :foreign_key => ' legalentity_id'
end


=====


If I find a LegalEntityPerson object with :include => :legal_entity it works
as expected:

$  ./script/runner  'a = LegalEntityPerson.find(:first, :include =>
:legal_entity); p a.legal_entity'
#<LegalEntity id: 1, name: "Some Company", legalentitytype_id: 3>


and looking a the log I see the select method with the 2 tables joined, it's
fine.


Now, if I drop :include => :legal_entity, a.legal_entity returns nil:


$  ./script/runner 'a = LegalEntityPerson.find(:first); p a.legal_entity'
nil


And what is interesting is that there is no SQL query to the DB, that is,
there is  SELECT * FROM `legalentities_people` LIMIT 1 for the find
method, and nothing else, a.legal_entity silently returns nil without any
warnings or complaints.




If I rewrite my models like this following naming conventions:


=== file legalentity.rb


class Legalentity < ActiveRecord::Base


end




=== file legal_entity_person.rb


class LegalEntityPerson < ActiveRecord::Base

  set_table_name 'legalentities_people'

  belongs_to :legalentity
end


=====


it works:


$  ./script/runner 'a = LegalEntityPerson.find(:first); p a.legalentity'
#<Legalentity id: 1, name: "Some Company", legalentitytype_id: 3>




BUT!!!


If I specify :foreign_key explicitly like this:


  belongs_to :legalentity, :foreign_key => ' legalentity_id'



it doesn't work again:




Is there any reason behind this behavior or is it a bug?


I am using Rails 2.0.2,  mysql 5.0.51a, all running on OS X, and with the
following sql code you can reproduce it:


CREATE TABLE `legalentities` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `legalentitytype_id` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;


INSERT INTO `legalentities` VALUES (1,'Some Company',3);


CREATE TABLE `legalentities_people` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `legalentity_id` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;


INSERT INTO `legalentities_people` VALUES (1,1);

-- 
Best regards,
Yuri Leikind

In This Thread

Prev Next