To answer your question, I would check out the Wiki page from the Rails Best Practices gem:
http://github.com/flyerhzm/rails_best_practices On Sun, Dec 13, 2009 at 12:22 AM, SousChef <[email protected]> wrote: > Or as a more general question, I reviewed the Railscast mentioned > above & Ryan Bates says that the Railscast shows a way to do multiple > models in one form by keeping the code tucked in the models and not > the controllers. Since the Railscast was done in 2007, has a > preferred method of doing multiple models in one form emerged? Is it > preferable to put code in the models keeping the controllers light or > is it preferred to put the code in the controllers and keep the models > light? Or is this still a design preference for the developer to > choose? > Thanks in advance for enlightment! > > On Dec 12, 1:05 pm, SousChef <[email protected]> wrote: > > Hi Andrei, > > Thanks for the quick feedback. I changed all prepsteps to prep_steps, > > but now I'm getting an uninitialized constant error in my Recipe > > controller for the following line: > > 3.times { @recipe.prep_steps.build } > > > > BROWSER DISPLAY: > > NameError in RecipesController#new > > uninitialized constant Recipe::PrepStep > > > > ERROR FROM THE CONSOLE: > > NameError (uninitialized constant Recipe::PrepStep): > > app/controllers/recipes_controller.rb:28:in `new' > > app/controllers/recipes_controller.rb:28:in `times' > > app/controllers/recipes_controller.rb:28:in `new' > > -e:1:in `load' > > -e:1 > > > > I took out the 3.times & curly braces & tried just the > > "@recipe.prep_steps.build" and I got the same error. I changed the > > prep_steps to a number of variations (prepsteps, PrepSteps, PrepStep) > > and got other various errors. Any thoughts? Is the underscore the > > issue? > > Thanks in advance! > > Seth > > > > On Dec 11, 1:26 am, Andrei Erdoss <[email protected]> wrote: > > > > > From a quick glance at your code, I see that you use prepsteps in your > > > controller and pre_steps in yourmodels. > > > > > On Fri, Dec 11, 2009 at 5:28 AM, SousChef <[email protected]> wrote: > > > > So I'm a newbie to Rails and attempting to addmultiplemodelsto a > > > > form. > > > > > > I found the Railscast for "Complex Forms, Part 1" at > > > >http://railscasts.com/episodes/73-complex-forms-part-1whichis from > > > > 2007 and at the point where the moderator, Ryan, says "Let's take a > > > > look at our code..." and refreshes the UI and in the Railscast we see > > > > 3 Tasks below the Project. However, when I refresh my project > screen, > > > > my code shows a "NoMethodError" in the Controller with an undefined > > > > method for the prepsteps that were added. I'm not following the > > > > Project/Taskmodels, but am building a Recipe/Preparation Stepsmodels > > > > to learn Rails. Not sure what's up except my controller needs a > method > > > > somewhere. I'm using Rails 2.3.4. Any sugggestions? > > > > > > Thanks in advance!! > > > > -------------------------------------- > > > > > > Error message: > > > > NoMethodError in RecipesController#new > > > > > > undefined method `prepsteps' > > > > > > Following is my code: > > > > recipes_controller.rb > > > > def new > > > > @recipe = Recipe.new > > > > 3.times { @recipe.prepsteps.build } > > > > > > respond_to do |format| > > > > format.html # new.html.erb > > > > format.xml { render :xml => @recipe } > > > > end > > > > end > > > > > > recipes\new.html.erb > > > > <% for prepstep in @recipe.prepsteps %> > > > > <% fields_for "recipe[prepstep_attributes][]", prepstep do | > > > > prepstep_form| %> > > > > <p> > > > > <%= prepstep_form.text_field :step_number %> > > > > <%= prepstep_form.text_field :step %> > > > > </p> > > > > <% end %> > > > > <% end %> > > > > > > recipe.rb > > > > class Recipe < ActiveRecord::Base > > > > validates_presence_of :name > > > > > > has_many :prep_steps, :dependent => :destroy > > > > > > accepts_nested_attributes_for :prep_steps > > > > end > > > > > > prep_steps.rb > > > > class PrepSteps < ActiveRecord::Base > > > > has_one :recipe, :dependent => :destroy > > > > > > validates_presence_of :recipe > > > > end > > > > > > -- > > > > > > 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]<rubyonrails-talk%[email protected]> > <rubyonrails-talk%[email protected]<rubyonrails-talk%[email protected]> > > > > > > . > > > > For more options, visit this group at > > > >http://groups.google.com/group/rubyonrails-talk?hl=en. > > > > > -- > > > Andrei Erdoss > > > > > > -- > > 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]<rubyonrails-talk%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > > > -- Andrei Erdoss -- 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.

