After much ado about the naming of model adn controllers... model : Expense controller : Expenses route : map.resources :expenses Here I am using mysql database and created a unique index, since db:migrated created an id object and made it as primary key. Now in the def create @expense = Expense.new(params[:expense]) if @expense.save flash[:viola] = ''New expense saved.. be frugal, save during this bad economy'' redirect_to expenses_path else render :action => ''new'' #redirect_to new_expense_path end Here I try to save, and if any error, render action =>''new''. When I do that I get the Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id Extracted source (around line #1): 1: <% form_for @e1 do |er| %> 2: <p> 3: name :<br /> 4: <%= er.text_field :name %> I have the @e1 defined correctly in the controller (how can it work when I go to the new page directly using localhost:300/expenses/new ). And the trace : vendor/rails/actionpack/lib/action_controller/record_identifier.rb: 72:in `dom_id'' vendor/rails/actionpack/lib/action_view/helpers/ record_identification_helper.rb:16:in `dom_id'' vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb:264:in `apply_form_for_options!'' vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb:248:in `form_for'' app/views/expenses/new.html.erb:1:in `_run_erb_47app47views47expenses47new46html46erb'' app/controllers/expenses_controller.rb:18:in `create'' What I don''t understand is the form_for works fine when used initially, or even through the redirect_to new_expense_path but not through the action => ''new'' Any help is appreciated...... -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=.
Replace @expense = Expense.new(params [: expense]) at @e1 = Expense.new(params [: expense]) in the create action since the render =>: new variable @e1 is not defined, but in view, it is used. 2009/11/18 Arun Srini <arunrocks-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>> > After much ado about the naming of model adn controllers... > > model : Expense > controller : Expenses > route : map.resources :expenses > > > Here I am using mysql database and created a unique index, since > db:migrated created an id object and made it as primary key. Now in > the > def create > @expense = Expense.new(params[:expense]) > if @expense.save > flash[:viola] = ''New expense saved.. be frugal, save during this > bad economy'' > redirect_to expenses_path > else > render :action => ''new'' > #redirect_to new_expense_path > end > > > Here I try to save, and if any error, render action =>''new''. When I do > that I get the > > Called id for nil, which would mistakenly be 4 -- if you really wanted > the id of nil, use object_id > > Extracted source (around line #1): > > 1: <% form_for @e1 do |er| %> > 2: <p> > 3: name :<br /> > 4: <%= er.text_field :name %> > > I have the @e1 defined correctly in the controller (how can it work > when I go to the new page directly using localhost:300/expenses/new ). > > And the trace : > vendor/rails/actionpack/lib/action_controller/record_identifier.rb: > 72:in `dom_id'' > vendor/rails/actionpack/lib/action_view/helpers/ > record_identification_helper.rb:16:in `dom_id'' > vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb:264:in > `apply_form_for_options!'' > vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb:248:in > `form_for'' > app/views/expenses/new.html.erb:1:in > `_run_erb_47app47views47expenses47new46html46erb'' > app/controllers/expenses_controller.rb:18:in `create'' > > What I don''t understand is the form_for works fine when used > initially, or even through the > redirect_to new_expense_path > but not through the action => ''new'' > > Any help is appreciated...... > > -- > > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > 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=. > >-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org 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=.
That worked, care to explain the theory behind it, or some links how this routing works??? On Wed, Nov 18, 2009 at 6:25 PM, Artem Korolev <korart-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Replace > @expense = Expense.new(params [: expense]) > at > @e1 = Expense.new(params [: expense]) > in the create action > since the render =>: new variable @e1 is not defined, but in view, it is > used. > > 2009/11/18 Arun Srini <arunrocks-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > > > > After much ado about the naming of model adn controllers... > > > > model : Expense > > controller : Expenses > > route : map.resources :expenses > > > > > > Here I am using mysql database and created a unique index, since > > db:migrated created an id object and made it as primary key. Now in > > the > > def create > > @expense = Expense.new(params[:expense]) > > if @expense.save > > flash[:viola] = ''New expense saved.. be frugal, save during this > > bad economy'' > > redirect_to expenses_path > > else > > render :action => ''new'' > > #redirect_to new_expense_path > > end > > > > > > Here I try to save, and if any error, render action =>''new''. When I do > > that I get the > > > > Called id for nil, which would mistakenly be 4 -- if you really wanted > > the id of nil, use object_id > > > > Extracted source (around line #1): > > > > 1: <% form_for @e1 do |er| %> > > 2: <p> > > 3: name :<br /> > > 4: <%= er.text_field :name %> > > > > I have the @e1 defined correctly in the controller (how can it work > > when I go to the new page directly using localhost:300/expenses/new ). > > > > And the trace : > > vendor/rails/actionpack/lib/action_controller/record_identifier.rb: > > 72:in `dom_id'' > > vendor/rails/actionpack/lib/action_view/helpers/ > > record_identification_helper.rb:16:in `dom_id'' > > vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb:264:in > > `apply_form_for_options!'' > > vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb:248:in > > `form_for'' > > app/views/expenses/new.html.erb:1:in > > `_run_erb_47app47views47expenses47new46html46erb'' > > app/controllers/expenses_controller.rb:18:in `create'' > > > > What I don''t understand is the form_for works fine when used > > initially, or even through the > > redirect_to new_expense_path > > but not through the action => ''new'' > > > > Any help is appreciated...... > > > > -- > > > > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org<rubyonrails-talk%2Bunsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> > . > > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=. > > > > > > -- > > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org<rubyonrails-talk%2Bunsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> > . > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=. > > >-- If opportunity doesn''t knock, build a door. - Milton Berle http://www.twitter.com/arzvi http://delicious.com/arzvi -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=.
It''s not routing.it''s - MVC. Then your render ''new'' template, view use instance variable defined in the current action... In the view you difened @e1 variable, but it''s not defined in the create action. 2009/11/18 ARUN SRINIVASAN <arunrocks-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>:> That worked, care to explain the theory behind it, or some links how this > routing works??? > > On Wed, Nov 18, 2009 at 6:25 PM, Artem Korolev <korart-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: >> >> Replace >> @expense = Expense.new(params [: expense]) >> at >> @e1 = Expense.new(params [: expense]) >> in the create action >> since the render =>: new variable @e1 is not defined, but in view, it is >> used. >> >> 2009/11/18 Arun Srini <arunrocks-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> >> > >> > After much ado about the naming of model adn controllers... >> > >> > model : Expense >> > controller : Expenses >> > route : map.resources :expenses >> > >> > >> > Here I am using mysql database and created a unique index, since >> > db:migrated created an id object and made it as primary key. Now in >> > the >> > def create >> > @expense = Expense.new(params[:expense]) >> > if @expense.save >> > flash[:viola] = ''New expense saved.. be frugal, save during this >> > bad economy'' >> > redirect_to expenses_path >> > else >> > render :action => ''new'' >> > #redirect_to new_expense_path >> > end >> > >> > >> > Here I try to save, and if any error, render action =>''new''. When I do >> > that I get the >> > >> > Called id for nil, which would mistakenly be 4 -- if you really wanted >> > the id of nil, use object_id >> > >> > Extracted source (around line #1): >> > >> > 1: <% form_for @e1 do |er| %> >> > 2: <p> >> > 3: name :<br /> >> > 4: <%= er.text_field :name %> >> > >> > I have the @e1 defined correctly in the controller (how can it work >> > when I go to the new page directly using localhost:300/expenses/new ). >> > >> > And the trace : >> > vendor/rails/actionpack/lib/action_controller/record_identifier.rb: >> > 72:in `dom_id'' >> > vendor/rails/actionpack/lib/action_view/helpers/ >> > record_identification_helper.rb:16:in `dom_id'' >> > vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb:264:in >> > `apply_form_for_options!'' >> > vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb:248:in >> > `form_for'' >> > app/views/expenses/new.html.erb:1:in >> > `_run_erb_47app47views47expenses47new46html46erb'' >> > app/controllers/expenses_controller.rb:18:in `create'' >> > >> > What I don''t understand is the form_for works fine when used >> > initially, or even through the >> > redirect_to new_expense_path >> > but not through the action => ''new'' >> > >> > Any help is appreciated...... >> > >> > -- >> > >> > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >> > For more options, visit this group at >> > http://groups.google.com/group/rubyonrails-talk?hl=. >> > >> > >> >> -- >> >> 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >> To unsubscribe from this group, send email to >> rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >> For more options, visit this group at >> http://groups.google.com/group/rubyonrails-talk?hl=. >> >> > > > > -- > If opportunity doesn''t knock, build a door. - Milton Berle > > http://www.twitter.com/arzvi > http://delicious.com/arzvi > > -- > > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=. >-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org 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=.
Thanks guys.. worked ....... On Wed, Nov 18, 2009 at 7:41 PM, Artem Korolev <korart-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> It''s not routing.it''s - MVC. > Then your render ''new'' template, view use instance variable defined in > the current action... > In the view you difened @e1 variable, but it''s not defined in the create > action. > > 2009/11/18 ARUN SRINIVASAN <arunrocks-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>: > > That worked, care to explain the theory behind it, or some links how this > > routing works??? > > > > On Wed, Nov 18, 2009 at 6:25 PM, Artem Korolev <korart-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > >> > >> Replace > >> @expense = Expense.new(params [: expense]) > >> at > >> @e1 = Expense.new(params [: expense]) > >> in the create action > >> since the render =>: new variable @e1 is not defined, but in view, it is > >> used. > >> > >> 2009/11/18 Arun Srini <arunrocks-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > >> > > >> > After much ado about the naming of model adn controllers... > >> > > >> > model : Expense > >> > controller : Expenses > >> > route : map.resources :expenses > >> > > >> > > >> > Here I am using mysql database and created a unique index, since > >> > db:migrated created an id object and made it as primary key. Now in > >> > the > >> > def create > >> > @expense = Expense.new(params[:expense]) > >> > if @expense.save > >> > flash[:viola] = ''New expense saved.. be frugal, save during this > >> > bad economy'' > >> > redirect_to expenses_path > >> > else > >> > render :action => ''new'' > >> > #redirect_to new_expense_path > >> > end > >> > > >> > > >> > Here I try to save, and if any error, render action =>''new''. When I do > >> > that I get the > >> > > >> > Called id for nil, which would mistakenly be 4 -- if you really wanted > >> > the id of nil, use object_id > >> > > >> > Extracted source (around line #1): > >> > > >> > 1: <% form_for @e1 do |er| %> > >> > 2: <p> > >> > 3: name :<br /> > >> > 4: <%= er.text_field :name %> > >> > > >> > I have the @e1 defined correctly in the controller (how can it work > >> > when I go to the new page directly using localhost:300/expenses/new ). > >> > > >> > And the trace : > >> > vendor/rails/actionpack/lib/action_controller/record_identifier.rb: > >> > 72:in `dom_id'' > >> > vendor/rails/actionpack/lib/action_view/helpers/ > >> > record_identification_helper.rb:16:in `dom_id'' > >> > vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb:264:in > >> > `apply_form_for_options!'' > >> > vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb:248:in > >> > `form_for'' > >> > app/views/expenses/new.html.erb:1:in > >> > `_run_erb_47app47views47expenses47new46html46erb'' > >> > app/controllers/expenses_controller.rb:18:in `create'' > >> > > >> > What I don''t understand is the form_for works fine when used > >> > initially, or even through the > >> > redirect_to new_expense_path > >> > but not through the action => ''new'' > >> > > >> > Any help is appreciated...... > >> > > >> > -- > >> > > >> > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > >> > To unsubscribe from this group, send email to > >> > rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org<rubyonrails-talk%2Bunsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> > . > >> > For more options, visit this group at > >> > http://groups.google.com/group/rubyonrails-talk?hl=. > >> > > >> > > >> > >> -- > >> > >> 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > >> To unsubscribe from this group, send email to > >> rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org<rubyonrails-talk%2Bunsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> > . > >> For more options, visit this group at > >> http://groups.google.com/group/rubyonrails-talk?hl=. > >> > >> > > > > > > > > -- > > If opportunity doesn''t knock, build a door. - Milton Berle > > > > http://www.twitter.com/arzvi > > http://delicious.com/arzvi > > > > -- > > > > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > To unsubscribe from this group, send email to > > rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org<rubyonrails-talk%2Bunsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> > . > > For more options, visit this group at > > http://groups.google.com/group/rubyonrails-talk?hl=. > > > > -- > > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org<rubyonrails-talk%2Bunsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> > . > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=. > > >-- If opportunity doesn''t knock, build a door. - Milton Berle http://www.twitter.com/arzvi http://delicious.com/arzvi -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=.