On Viernes, 21 de Agosto de 2009 18:25:34 Paul Hamann escribió:
> Sergio, your example seems pretty logical to me.  When I run it, I get
>
> Unknown key(s): class
>

It was wrong, change :class  with :class_name

>
> /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.3/lib/active_support/core_ext
>/hash/keys.rb:47:in `assert_valid_keys'
> /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/associatio
>ns.rb:1531:in `create_belongs_to_reflection'
> /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/associatio
>ns.rb:1002:in `belongs_to' (eval):3:in `belongs_to'
> /var/www/sergio/app/models/user.rb:2
> /var/www/sergio/app/controllers/users_controller.rb:2
>
>
> I couldn't get it working with either Googling / screwing around.
>
> Thanks for the help!
>
> Cheers! P
>
> --- On Fri, 8/21/09, Sergio Cambra .:: entreCables S.L. ::. 
<[email protected]> wrote:
> > From: Sergio Cambra .:: entreCables S.L. ::. <[email protected]>
> > Subject: Re: Yet another question on dynamic selects
> > To: [email protected]
> > Date: Friday, August 21, 2009, 12:48 AM
> >
> > On Jueves, 20 de Agosto de 2009 18:39:07 Paul Hamann
> >
> > escribió:
> > > I just want "Hello world" for a chained fields
> >
> > example.
> >
> > > On the old Active Scaffold site, there was a 'demos'
> >
> > section.  That section
> >
> > > included code for common yet complicated scenarios. I
> >
> > would like something
> >
> > > similar for chaining fields.  Many others have
> >
> > sought the same thing from
> >
> > > what I've seen while Googling.
> > >
> > > And FWIW, here's some philosophy.  I've seen many
> >
> > software companies and
> >
> > > projects fail for misunderstanding one fact.  80%
> >
> > of potential developers
> >
> > > only have 20% of the skills.  That 80% learns
> >
> > through copy/paste of working
> >
> > > examples. Focus on providing better samples to work
> >
> > with, and you will
> >
> > > increase your addressable market by 400%.
> >
> > Here is an example, I haven't tried it, but I think it will
> > work:
> >
> > script/generate resource author name:string
> > script/generate resource book author:references
> > name:string
> > script/generate resource user name:string
> > favourite_author:references favourite_book:references
> >
> > # app/models/book.rb:
> > class Book < ActiveRecord::Base
> >   belongs_to :author
> >   has_many :users, :foreign_key =>
> > 'favourite_book_id'
> > end
> >
> > # app/models/author.rb:
> > class Author < ActiveRecord::Base
> >   has_many :books
> >   has_many :users, :foreign_key =>
> > 'favourite_author_id'
> > end
> >
> > # app/models/user.rb:
> > class User < ActiveRecord::Base
> >   belongs_to :favourite_author, :class => 'Author'
> >   belongs_to :favourite_book, :class => 'Book'
> > end
> >
> > # app/controllers/authors_controller.rb
> > class AuthorsController < ApplicationController
> >   active_scaffold
> > end
> >
> > # app/controllers/books_controller.rb
> > class BooksController < ApplicationController
> >   active_scaffold
> > end
> >
> > # app/controllers/users_controller.rb
> > class UsersController < ApplicationController
> >   active_scaffold do |config|
> >     config.columns[:favourite_author].form_ui =
> >
> > :select
> >
> >     config.columns[:favourite_author].options =
> > {:update_column => :favourite_book}
> >     config.columns[:favourite_book].form_ui =
> >
> > :select
> >
> >   end
> > end
> >
> > # app/helpers/users_helper.rb
> > class UsersHelper
> >   def options_for_association_conditions(association)
> >     if association.name == :favourite_book
> >       {'books.author_id' =>
> > @record.author_id}
> >     else
> >       super
> >     end
> >   end
> > end
> >
> > > Thanks! Paul
> > >
> > > --- On Thu, 8/20/09, Sergio Cambra .:: entreCables
> >
> > S.L. ::. <[email protected]>
> >
> > wrote:
> > > > From: Sergio Cambra .:: entreCables S.L. ::.
> >
> > <[email protected]>
> >
> > > > Subject: Re: Yet another question on dynamic
> >
> > selects
> >
> > > > To: [email protected]
> > > > Date: Thursday, August 20, 2009, 9:11 AM
> > > >
> > > > On Jueves, 20 de Agosto de 2009 17:59:16 Paul
> >
> > Hamann
> >
> > > > escribió:
> > > > > I ended up with a rather contrived example
> >
> > after
> >
> > > > looking at too many code
> > > >
> > > > > samples.  I really just want "Hello
> >
> > world."
> >
> > > > You are trying something harder thant Hello
> >
> > world. A hello
> >
> > > > world example
> > > > shouldn't use chained fields in my opinion.
> > > >
> > > > > For survey, there are n number of surveys.
> > > >
> > > > Surveys have n number of survey
> > > >
> > > > > questions. When a specific survey is
> >
> > selected, the
> >
> > > > questions for that
> > > >
> > > > > survey show up as options in the second
> >
> > select.
> >
> > > > Like I said, it's a bit
> > > >
> > > > > contrived.
> > > >
> > > > But you are setting that in survey create and
> >
> > update forms.
> >
> > > > Scenary you are
> > > > describing is easier, and more logical IMO, for a
> >
> > model
> >
> > > > with belongs_to
> > > >
> > > > :survey and belongs_to :survey_question
> > > > :
> > > > > Thanks for the help, Paul
> > > > >
> > > > > --- On Thu, 8/20/09, Sergio Cambra .::
> >
> > entreCables
> >
> > > > S.L. ::.
> > > > <[email protected]>
> > > >
> > > > wrote:
> > > > > > From: Sergio Cambra .:: entreCables
> >
> > S.L. ::.
> >
> > > > <[email protected]>
> > > >
> > > > > > Subject: Re: Yet another question on
> >
> > dynamic
> >
> > > > selects
> > > >
> > > > > > To: [email protected]
> > > > > > Date: Thursday, August 20, 2009, 12:49
> >
> > AM
> >
> > > > > > On Jueves, 20 de Agosto de 2009
> >
> > 03:48:04 Paul
> >
> > > > Hamann
> > > >
> > > > > > escribió:
> > > > > > > Thanks again for all your help.
> >
> > Sadly, I'm
> >
> > > > still
> > > >
> > > > > > missing something. [BTW,
> > > > > >
> > > > > > > there's a search_sql in the thread
> >
> > example,
> >
> > > > but not in
> > > >
> > > > > > the wiki example?]
> > > > > >
> > > > > > > Here's the code:
> > > > > > >
> > > > > > > ============ schema
> > > >
> > > > ===============================
> > > >
> > > > > > >  create_table
> >
> > "survey_questions",
> >
> > > > :force =>
> > > > :
> > > > > > true do |t|
> > > > > >
> > > > > > >     t.integer
> > > > > >
> > > > > > "survey_id", 
> >
> >    :limit =>
> >
> > > > 11
> > > >
> > > > > > >     t.text
> > > > > >
> > > > > >    "question_text"
> > > > > >
> > > > > > > 
> >
> >    t.datetime
> >
> > > > "created_at"
> > > >
> > > > > > > 
> >
> >    t.datetime
> >
> > > > "updated_at"
> > > >
> > > > > > >   end
> > > > > > >
> > > > > > >   create_table
> >
> > "surveys",
> >
> > > > :force =>
> > > > :
> > > > > > true do |t|
> > > > > >
> > > > > >
> > > > > >
> > > > > >   
> >
> > t.string   "name"
> >
> > > > > > > 
> >
> >    t.datetime
> >
> > > > "created_at"
> > > >
> > > > > > > 
> >
> >    t.datetime
> >
> > > > "updated_at"
> > > >
> > > > > > >   end
> > > > > > >
> > > > > > > ============ Model: survey.rb
> >
> > =========
> >
> > > > > > > class Survey <
> >
> > ActiveRecord::Base
> >
> > > > > > >   has_many
> > :
> > :survey_questions
> > :
> > > > > > >   def to_tabel
> > > > > > >    "#{name}"
> > > > > > >   end
> > > > > > > end
> > > > > > >
> > > > > > > ============Model:
> >
> > survey_question.rb ====
> >
> > > > > > > class SurveyQuestion <
> > > >
> > > > ActiveRecord::Base
> > > >
> > > > > > >   belongs_to
> > :
> > :survey
> > :
> > > > > > >   def to_label
> > > > > > >    "#{question_text}"
> > > > > > >   end
> > > > > > > end
> > > > > > >
> > > > > > > =================
> >
> > survey_helper.rb
> >
> > > > ==================
> > > >
> > > > > > > module SurveyHelper
> > > > > > >
> > > > > > >    def
> >
> > options_for_association_conditions(association)
> >
> > > > > > >      if
> >
> > association.name ==
> >
> > > > > > :survey_question
> > > > > > :
> > > > > > >   
> > > > > >
> > > > > >   
> >
> > {'survey_questions.survey_id' =>
> >
> > > > > > @record.survey_id}
> > > > > >
> > > > > > >      else
> > > > > > >   
> >
> >    super
> >
> > > > > > >      end
> > > > > > >    end
> > > > > > >
> > > > > > > end
> > > > > > >
> > > > > > > =============
> >
> > survey_controller.rb
> >
> > > > > > =====================
> > > > > >
> > > > > > > class SurveyController <
> > > >
> > > > ApplicationController
> > > >
> > > > > > >  layout "default"
> > > > > > >  active_scaffold :survey
> > > > > > >
> > > > > > >  active_scaffold do |config|
> > > >
> > > >    config.columns[:name].form_ui
> > > >
> > > > > > = :select
> > > >
> > > >    config.columns[:name].options
> > > >
> > > > > > = { :update_column =>
> >
> > ':survey_question'
> >
> > > > > > > }
> >
> > config.columns['question_text'].form_ui =
> >
> > > > :select
> > > > :
> > > > > > >   end
> > > > > > > end
> > > > > >
> > > > > > form_ui select automatically fills the
> >
> > options
> >
> > > > when column
> > > >
> > > > > > is an association
> > > > > > (neither name nor question_text are
> > > >
> > > > associations). You
> > > >
> > > > > > can't set question_text
> > > > > > form_ui from SurveyController because
> >
> > that column
> >
> > > > belongs
> > > >
> > > > > > to SurveyQuestion
> > > > > > model, you should do it in
> > > >
> > > > SurveyQuestionsController.
> > > >
> > > > > > I don't understand what you want to
> >
> > get. What
> >
> > > > options
> > > >
> > > > > > should be shown for
> > > > > > name?
> >
> > ==========================================================
> >
> > > > > > > --- On Wed, 8/19/09, Kerry Foley
> >
> > <[email protected]>
> >
> > > > > > wrote:
> > > > > > > > From: Kerry Foley <[email protected]>
> > > > > > > > Subject: Re: Yet another
> >
> > question on
> >
> > > > dynamic
> > > >
> > > > > > selects
> > > > > >
> > > > > > > > To: [email protected]
> > > > > > > > Date: Wednesday, August 19,
> >
> > 2009, 5:32
> >
> > > > PM
> > > >
> > > > > > > > It sounds like your column
> >
> > name is
> >
> > > > incorrect. You
> > > >
> > > > > > didn't
> > > > > >
> > > > > > > > paste you're
> > > > > > > > code so I can't say for sure.
> >
> > You
> >
> > > > should be doing
> > > >
> > > > > > something
> > > > > >
> > > > > > > > like
> >
> > config.columns[:project_type].form_ui =
> >
> > > > :select
> > > > :
> > > > > > > > #belongs_to
> > > > > > > > or
> >
> > config.columns[:regions].form_ui =
> >
> > :select   #has_many
> > :
> > > > > > > > it shouldn't be "_id" - it's
> >
> > the
> >
> > > > association
> > > >
> > > > > > name, not the
> > > > > >
> > > > > > > > column name.
> > > > > > > >
> > > > > > > > There are examples on the
> >
> > wiki e.g
> >
> > > > Getting
> > > >
> > > > > > Started;
> > > > > >
> > > > > > > > http://wiki.github.com/activescaffold/active_scaffold
> > > > > > > >
> > > > > > > > You don't need to build the
> >
> > select.
> >
> > > > > > > > I think there's a more or
> >
> > less complete
> >
> > > > set of
> > > >
> > > > > > controller,
> > > > > >
> > > > > > > > model and
> > > > > > > > helper code for what you are
> >
> > trying to
> >
> > > > do in the
> > > >
> > > > > > thread
> > > > > >
> > > > > > > > previously sent.
> > > > > > > >
> > > > > > > > http://groups.google.com/group/activescaffold/browse_thread/t
> > > > > > > >hrea d/2a e130 edb1d0e2d2
> > > > > > > >
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Kerry
> > > > > > > >
> > > > > > > > Me wrote:
> > > > > > > > > Bare with me here. 
> >
> > I'm a
> >
> > > > little slow.
> > > >
> > > > > > So I tried
> > > > > >
> > > > > > > > the code, and I get:
> > > > > > > > > You have a nil object
> >
> > when you
> >
> > > > didn't expect
> > > >
> > > > > > it!
> > > > > >
> > > > > > > > > The error occurred
> >
> > while
> >
> > > > evaluating
> > > >
> > > > > > nil.form_ui=
> > > > > >
> > > > > > > > > Is there enough smarts
> >
> > built-in to
> >
> > > > populate
> > > >
> > > > > > the select
> > > > > >
> > > > > > > > boxes? Or do I
> > > > > > > >
> > > > > > > > > need something like:
> > > > > > > > >
> > > > > > > > > a=
> >
> > Author.find(:all).collect {
> >
> > > > |a|
> > > > |
> > > > > > a.name  }
> > > > > >
> > > > > > > > > If that kind of code is
> >
> > required,
> >
> > > > do I put
> > > >
> > > > > > that in the
> > > > > >
> > > > > > > > helper form
> > > > > > > >
> > > > > > > > > override?  Any
> >
> > chance I can
> >
> > > > see one
> > > >
> > > > > > complete
> > > > > >
> > > > > > > > example that works? 
> >
> > I've
> >
> > > > > > > > > been banging my head on
> >
> > this for
> >
> > > > a
> > > >
> > > > > > while.  When I
> > > > > >
> > > > > > > > Google, I just come
> > > > > > > >
> > > > > > > > > across more people that
> >
> > have been
> >
> > > > banging
> > > >
> > > > > > there heads
> > > > > >
> > > > > > > > on this.
> > > > > > > >
> > > > > > > > > Thanks! Paul
> > > > > > > > >
> > > > > > > > > On Aug 19, 1:58 pm,
> >
> > Kerry Foley
> >
> > > > <[email protected]>
> > > >
> > > > > > > > wrote:
> > > > > > > > >   
> > > > > > > > >
> > > > > > > > >> http://groups.google.com/group/activescaffold/browse_threa
> > > > > > > > >>d/th read /2a. ..
> > > > > > > > >>
> > > > > > > > >> Regards,
> > > > > > > > >> Kerry
> > > > > > > > >>
> > > > > > > > >> Me wrote:
> > > > > > > > >> 
> >
> >    
> >
> > > > > > > > >>> Greetings! 
> >
> > First
> >
> > > > post.
> > > >
> > >>>   
> > >>>
> > > >   
> > > >
> > > > > > > > >>> I've been
> >
> > greping the web
> >
> > > > for an AS
> > > >
> > > > > > example of
> > > > > >
> > > > > > > > populating a parent
> > > > > > > >
> > > > > > > > >>> select box, and
> >
> > then
> >
> > > > dynamically
> > > >
> > > > > > changing a
> > > > > >
> > > > > > > > child select box through
> > > > > > > >
> > > > > > > > >>> an "onchange"
> >
> > event.
> >
> > > > I've seen
> > > >
> > > > > > the
> > > > > >
> > > > > > > > observer approach, but not
> >
> > with
> >
> > > > > > > > >>> AS.  Is
> >
> > there support
> >
> > > > for such
> > > >
> > > > > > a thing?
> > >>>
> > >>>   
> > >>>
> > > >   
> > > >
> > > > > > > > >>> I found this
> >
> > thread where
> >
> > > > this same
> > > >
> > > > > > question
> > > > > >
> > > > > > > > was asked.
> > >>>
> > >>>   
> > >>>
> > > >   
> > > >
> > > > > > > > >>> http://www.mail-archive.com/[email protected]
> > > > > > > > >>>om/m sg00 108. ...
> > > > > > > > >>> The poor guy got
> >
> > a rather
> >
> > > > prickly
> > > >
> > > > > > > > response.  He eventually
> >
> > posted
> >
> > > > his
> > > >
> > > > > > > > >>> solution in the
> >
> > last msg
> >
> > > > of the
> > > >
> > > > > > thread.
> > > > > >
> > > > > > > > Unfortunately, I can't get
> > > > > > > >
> > > > > > > > >>> that solution
> >
> > to
> >
> > > > work.  The
> > > >
> > > > > > example [in
> > > > > >
> > > > > > > > plain English] was, "Surveys
> > > > > > > >
> > > > > > > > >>> have many
> >
> > survey_questions
> >
> > > > and
> > > >
> > > > > > surveys
> > > > > >
> > > > > > > > have_many
> >
> > survey_options."  If
> >
> > > > > > > > >>> options are
> >
> > meant to be
> >
> > > > answers to
> > > >
> > > > > > questions,
> > > > > >
> > > > > > > > then it should be
> > > > > > > >
> > > > > > > > >>> "Surveys have
> >
> > many
> >
> > > > questions.
> > > >
> > > > > > Questions
> > > > > >
> > > > > > > > have many options [multiple
> > > >
> > > > choice]."   That
> > > >
> > > > > > would be three
> > > > > >
> > > > > > > > levels.  I tried looking
> >
> > at the
> >
> > > > > > > > >>> survey_options
> >
> > table as
> >
> > > > some type of
> > > >
> > > > > > join with
> > > > > >
> > > > > > > > both foreign keys
> > > > > > > >
> > > > > > > > >>> [survey_id,
> > > > > >
> > > > > > survey_question_id].  If that
> > > > > >
> > > > > > > > were the case, then survey
> > > > > > > >
> > > > > > > > >>> "has many
> >
> > questions
> >
> > > > through
> > > >
> > > > > > > > survey_options."  That
> >
> > wasn't
> >
> > > > listed in
> > > >
> > > > > > > > >>> the example.
> > > >
> > > > Clearly, I'm
> > > >
> > > > > > confused
> > > > > >
> > > > > > > > somewhere.
> > >>>
> > >>>   
> > >>>
> > > >   
> > > >
> > > > > > > > >>> I would
> >
> > appreciate it if
> >
> > > > someone
> > > >
> > > > > > could explain
> > > > > >
> > > > > > > > the example referenced
> > > > > > > >
> > > > > > > > >>> in the last
> >
> > message of the
> >
> > > > thread
> > > >
> > > > > > linked to
> > > > > >
> > > > > > > > above.  Alternatively.
> >
> > I
> >
> > > > > > > > >>> would appreciate
> >
> > a clear
> >
> > > > example of
> > > >
> > > > > > this
> > > > > >
> > > > > > > > pattern.  I think that
> >
> > this
> >
> > > > > > > > >>> is a common
> >
> > situation
> >
> > > > where some
> > > >
> > > > > > documentation
> > > > > >
> > > > > > > > would benefit many
> > > > > > > >
> > > > > > > > >>> people.
> > >>>
> > >>>   
> > >>>
> > > >   
> > > >
> > > > > > > > >>> Thanks! Paul
> > >>>
> > >>>   
> > >>>
> > > >   
> > > >
> > > > > > > > >   
> > > > > >
> > > > > > --
> > > > > > Sergio Cambra .:: entreCables S.L. ::.
> > > > > > Mariana Pineda 23, 50.018 Zaragoza
> > > > > > T) 902 021 404 F) 976 52 98 07 E) [email protected]
> > > >
> > > > --
> > > > Sergio Cambra .:: entreCables S.L. ::.
> > > > Mariana Pineda 23, 50.018 Zaragoza
> > > > T) 902 021 404 F) 976 52 98 07 E) [email protected]
> >
> > --
> > Sergio Cambra .:: entreCables S.L. ::.
> > Mariana Pineda 23, 50.018 Zaragoza
> > T) 902 021 404 F) 976 52 98 07 E) [email protected]
>
> 
-- 
Sergio Cambra .:: entreCables S.L. ::.
Mariana Pineda 23, 50.018 Zaragoza
T) 902 021 404 F) 976 52 98 07 E) [email protected]


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"ActiveScaffold : Ruby on Rails plugin" 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/activescaffold?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to