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 -~----------~----~----~----~------~----~------~--~---