Hi, I''m new to ruby on rails and I''m working on a very small project. I''m in the very early stages of development and I''m already stuck. Here''s the problem: I have two tables: programs - program_id primary key auto_increment - program_name modules - module_id primary key auto_increment - module_code - module_name - program_id foreign key My first steps in coding are to do a simple admin section, where the user can add new programs and modules. The ''adding new programs'' functionality works, but the ''adding new modules'' errors with the following message: ''wrong number of arguments (1 for 0)''. I''m guessing this has something to do with the fact that program_id is a foreign in the modules table. Can anybody advise on where I''m going wrong please? --------------------------------------------------- Models: --------------------------------------------------- class Program < ActiveRecord::Base has_many :modules end class Module < ActiveRecord::Base belongs_to :program end --------------------------------------------------- add_module View: --------------------------------------------------- <% @page_title = "AddModule" -%> <%= start_form_tag(:action => "save_module") %> <br><br> Module Code: <%= text_field("module", "module_code", "size" => 40 ) %> <br><br> Module Name: <%= text_field("module", "module_name", "size" => 40 ) %> <br><br> Program Name: <%= collection_select("module", "program_id" , Program.find_all, "program_id", "program_name") %> <br><br> <%= submit_tag(" ADD ") %> <%= end_form_tag %> --------------------------------------------------- Controller: --------------------------------------------------- def add_module end def save_module @module = Module.new(params[:module]) if @module.save flash[:notice] = "Module ''" + @module.module_name + "'' was sucessfully added!" redirect_to :action => ''list'' else redirect_to :action => "add_module" end end --------------------------------------------------- Development Log: --------------------------------------------------- Processing AdminController#save_module (for at 2007-05-08 16:35:06) [POST] Session ID: 61f30f5fc79afbce0720f9470ffc7766 Parameters: {"module"=>{"module_code"=>"Module X", "program_id"=>"3", "module_name"=>"New Module"}, "commit"=>" ADD ", "action"=>"save_module", "controller"=>"admin"} ArgumentError (wrong number of arguments (1 for 0)): -- 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Trish Mulligan wrote:> > Processing AdminController#save_module (for at 2007-05-08 16:35:06) > [POST] > Session ID: 61f30f5fc79afbce0720f9470ffc7766 > Parameters: {"module"=>{"module_code"=>"Module X", "program_id"=>"3", > "module_name"=>"New Module"}, "commit"=>" ADD ", > "action"=>"save_module", "controller"=>"admin"} > > > ArgumentError (wrong number of arguments (1 for 0)):In the browser it should tell you on which line this error is occurring, might help narrow it down? -- 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Sorry, I should''ve said. The error occurs on the following line... @module = Module.new(params[:module]) Thanks, Trish. -- 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Trish Mulligan wrote:> Sorry, I should''ve said. The error occurs on the following line... > > @module = Module.new(params[:module]) > > Thanks, > > Trish.Perhaps it is because Module is a reserved word in Ruby, or rather a ruby class. When you call Module.new it is trying to create a new module object. http://www.ruby-doc.org/core/classes/Module.html Try changing the name of your model to something else. -- 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Thanks for taking the time to reply. I have changed the name of my model and it now works. -- 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---