I'm in trouble with an pl/sql query. My user ActiveRecord::Base class
has a specific query. When I call this query, I've an error "TypeError
no _dump_data is defined for class Proc".

There is the ActiveRecord::Base class

class Utilisateur < ActiveRecord::Base
self.table_name = 'v1_utilisateur'
self.primary_key = 'utilid'
self.sequence_name = 'SQ1_UTILISATEUR'

has_many :util_service,
:foreign_key => 'utilid',
:conditions => "modcode='SERVICE'",
:order => 'sercode'
has_many :direction,
:class_name => "Utilisateur",
:finder_sql => Proc.new{%Q{SELECT * FROM v1_utilisateur}}
end

I use this instruction to call the query
session[:direction] = @user.direction

What am I doing wrong?

--
Posted via http://www.ruby-forum.com/.

--
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 rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

Search Discussions

  • Matt Jones at May 3, 2012 at 1:46 pm

    On Wednesday, 2 May 2012 10:58:49 UTC-4, Ruby-Forum.com User wrote:
    I'm in trouble with an pl/sql query. My user ActiveRecord::Base class
    has a specific query. When I call this query, I've an error "TypeError
    no _dump_data is defined for class Proc".

    There is the ActiveRecord::Base class

    class Utilisateur < ActiveRecord::Base
    self.table_name = 'v1_utilisateur'
    self.primary_key = 'utilid'
    self.sequence_name = 'SQ1_UTILISATEUR'

    has_many :util_service,
    :foreign_key => 'utilid',
    :conditions => "modcode='SERVICE'",
    :order => 'sercode'
    has_many :direction,
    :class_name => "Utilisateur",
    :finder_sql => Proc.new{%Q{SELECT * FROM v1_utilisateur}}
    end

    I use this instruction to call the query
    session[:direction] = @user.direction

    What am I doing wrong?
    Couple things:

    - don't put ActiveRecord models in the session, if you can possibly avoid
    it. You'll encounter weird bugs, *and* wind up with data out of sync with
    the DB.

    - @user.direction isn't even an AR model, it's an association proxy.
    @user.direction.to_a will get you an array of real models, if that's what
    you want.

    - :finder_sql needs to specify the *entire* SQL query including whatever
    foreign-key-like expressions are needed, so the association as declared
    above will return the same records for every user. If this is really what
    you want, adding a simple method to user rather than an association may be
    clearer. Specifying :foreign_key on an association with :finder_sql has no
    effect, as the :foreign_key option is ignored.

    - has_manys are typically spelled with the plural version; has_many
    :directions rather than has_many :direction. Not an actual bug, but a
    serious annoyance for anybody reading your code later.

    --Matt Jones

    --
    You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
    To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/yQt20PxsiO4J.
    To post to this group, send email to rubyonrails-talk@googlegroups.com.
    To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouprubyonrails-talk @
categoriesrubyonrails
postedMay 2, '12 at 2:59p
activeMay 3, '12 at 1:46p
posts2
users2
websiterubyonrails.org
irc#RubyOnRails

2 users in discussion

Matt Jones: 1 post Cédric schille: 1 post

People

Translate

site design / logo © 2021 Grokbase