Hi everyone, I''m testing the 2.0 rails (after running into some gem problems to upgrade it) and I really don''t know what''s wrong with this form. I tried to keep it as simple as possible (maybe too simple that I forgot something?). Can someone point me the problem here? The view: <% form_for :account do %> <table class="form"> <tr> <td class="label">Nome:</td> <td class="field"><%= text_field :account, :name %></td> </tr> <tr> <td class="label">Banco:</td> <td class="field"><%= select("account", "bank_id", Bank.find(:all).map {|b| [b.name, b.id]}) %></td> </tr> <tr> <td class="label">Número:</td> <td class="field"><%= text_field :account, :number %></td> </tr> <tr> <td class="label">Saldo inicial:</td> <td class="field"><%= text_field :account, :initial_balance %></td> </tr> <tr> <td class="label">Moeda:</td> <td class="field"><%= select("account", "currency_id", Currency.find(:all).map {|c| [c.name, c.id]}) %></td> </tr> <tr> <td class="label">Comentários:</td> <td class="field"><%= text_field :account, :comment %></td> </tr> <tr> <td colspan="2" class="label"><%= submit_tag "OK" %></td> </tr> </table> <% end %> The action: def new @account = Account.new(params[:account]) if request.post? @account.balance = @account.initial_balance if @account.save redirect_to :action => "list" else redirect_to :action => "new" end end end I would appreciate some help here. Thank you, Gabriel Hora --~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi Gabriel, Could please post the problem that you are getting ? On Tue, Mar 11, 2008 at 8:28 AM, Gabriel Hora <gabrielhora@gmail.com> wrote:> > Hi everyone, > > I'm testing the 2.0 rails (after running into some gem problems to > upgrade it) and I really don't know what's wrong with this form. I > tried to keep it as simple as possible (maybe too simple that I forgot > something?). > Can someone point me the problem here? > > The view: > > <% form_for :account do %> > <table class="form"> > <tr> > <td class="label">Nome:</td> > <td class="field"><%= text_field :account, :name %></td> > </tr> > <tr> > <td class="label">Banco:</td> > <td class="field"><%= select("account", "bank_id", > Bank.find(:all).map {|b| [b.name, b.id]}) %></td> > </tr> > <tr> > <td class="label">Número:</td> > <td class="field"><%= text_field :account, :number %></td> > </tr> > <tr> > <td class="label">Saldo inicial:</td> > <td class="field"><%= text_field :account, :initial_balance %></td> > </tr> > <tr> > <td class="label">Moeda:</td> > <td class="field"><%= select("account", "currency_id", > Currency.find(:all).map {|c| [c.name, c.id]}) %></td> > </tr> > <tr> > <td class="label">Comentários:</td> > <td class="field"><%= text_field :account, :comment %></td> > </tr> > <tr> > <td colspan="2" class="label"><%= submit_tag "OK" %></td> > </tr> > </table> > <% end %> > > The action: > > def new > @account = Account.new(params[:account]) > if request.post? > @account.balance = @account.initial_balance > if @account.save > redirect_to :action => "list" > else > redirect_to :action => "new" > end > end > end > > > I would appreciate some help here. > > Thank you, > > > Gabriel Hora > > >-- Rui http://ruivaldo.wordpress.com "Rubi? Aquela novela do SBT?" ~ Carla Perez sobre Ruby "Em Python, tudo é objeto, além de lindo e maravilhoso." ~ Caetano Veloso sobre Python "SDD -> Skol Driven Development is the new age of computing." ~ Martin Fowler --~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com 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=en -~----------~----~----~----~------~----~------~--~---
Oh, sorry, the problem is it''s not saving the data. With rails 1.2.4 (using the form_tag instead) it worked, now its not saving. I figure its something wrong I''m doing in the view cuz the action is quite simple right? And I''m new to Rails so I don''t know where to look for system error messages for the problem. On Mar 11, 8:36 am, rui <ruiva...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Hi Gabriel, > > Could please post the problem that you are getting ? > > > > On Tue, Mar 11, 2008 at 8:28 AM, Gabriel Hora <gabrielh...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > Hi everyone, > > > I''m testing the 2.0 rails (after running into some gem problems to > > upgrade it) and I really don''t know what''s wrong with this form. I > > tried to keep it as simple as possible (maybe too simple that I forgot > > something?). > > Can someone point me the problem here? > > > The view: > > > <% form_for :account do %> > > <table class="form"> > > <tr> > > <td class="label">Nome:</td> > > <td class="field"><%= text_field :account, :name %></td> > > </tr> > > <tr> > > <td class="label">Banco:</td> > > <td class="field"><%= select("account", "bank_id", > > Bank.find(:all).map {|b| [b.name, b.id]}) %></td> > > </tr> > > <tr> > > <td class="label">Número:</td> > > <td class="field"><%= text_field :account, :number %></td> > > </tr> > > <tr> > > <td class="label">Saldo inicial:</td> > > <td class="field"><%= text_field :account, :initial_balance %></td> > > </tr> > > <tr> > > <td class="label">Moeda:</td> > > <td class="field"><%= select("account", "currency_id", > > Currency.find(:all).map {|c| [c.name, c.id]}) %></td> > > </tr> > > <tr> > > <td class="label">Comentários:</td> > > <td class="field"><%= text_field :account, :comment %></td> > > </tr> > > <tr> > > <td colspan="2" class="label"><%= submit_tag "OK" %></td> > > </tr> > > </table> > > <% end %> > > > The action: > > > def new > > @account = Account.new(params[:account]) > > if request.post? > > @account.balance = @account.initial_balance > > if @account.save > > redirect_to :action => "list" > > else > > redirect_to :action => "new" > > end > > end > > end > > > I would appreciate some help here. > > > Thank you, > > > Gabriel Hora > > -- > Ruihttp://ruivaldo.wordpress.com > > "Rubi? Aquela novela do SBT?" > ~ Carla Perez sobre Ruby > > "Em Python, tudo é objeto, além de lindo e maravilhoso." > ~ Caetano Veloso sobre Python > > "SDD -> Skol Driven Development is the new age of computing." > ~ Martin Fowler--~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
We still need way more information than what you''re giving us. Is it erroring when it saves? What URL is it generating? Is it even going to the create/update page? The more information you give us, the greater the chance of us being able to solve your problem. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
in your app in the log folder you''ll find the file development.log with rake log:clear you can clear that (can''t damage anything) after every call to controller/action you''ll get the whole set of params used for that call and all error messages in that file check if the view hands in any data as params with: logger.info "text #{vars}" you can write debug messages directly to that file from your controller -- 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 -~----------~----~----~----~------~----~------~--~---
Gabriel Hora wrote:> <% form_for :account do %>#form_for will scope the account object saving you from referring to it in every entry. Use: <% form_for(@account) do |f| %> Then the entries become:> <td class="field"><%= text_field :account, :name %></td><%= f.text_field :name %>> <td class="field"><%= select("account", "bank_id", > Bank.find(:all).map {|b| [b.name, b.id]}) %></td>I haven''t fully checked, but I don''t think #select is scoped, so leave this as it is.> <td class="field"><%= text_field :account, :number %></td><%= f.text_field :number %>> <td class="field"><%= text_field :account, :initial_balance %></td><%= f.text_field :initial_balance %>> <td class="field"><%= text_field :account, :comment %></td><%= f.text_field :comment %>> <td colspan="2" class="label"><%= submit_tag "OK" %></td><%= f.submit "OK" %> If this fails, send the errors from your log file along with the parameters in the log being sent to your #new action. -- 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 -~----------~----~----~----~------~----~------~--~---
I found the problem. I''m from Brazil so we write numbers like this 15.000,00 (comma as decimal separator)... I was inputing like this in the form and it didn''t work, when I changed to this 15000.00 it worked. But, there was nothing on the log giving me any tips for that...no SQL error messages, no nothing... This is the entry on the log...between the BEGIN the COMMIT there''s nothing...as if there was no SQL to execute. That''s kinda weird, right? Or is it the right behavior? Processing AccountsController#new (for 127.0.0.1 at 2008-03-11 09:31:58) [POST] Session ID: BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo %0ASGFzaHsABjoKQHVzZWR7AA%3D %3D--9e3a490edfbb816e5ed5e0d1573fbdd514229823 Parameters: {"commit"=>"OK", "account"=>{"name"=>"Nova conta", "number"=>"5218 211455", "currency_id"=>"1", "initial_balance"=>"1520,00", "bank_id"=>"1", "comment"=>"Sem comentários"}, "action"=>"new", "controller"=>"accounts"} Account Columns (0.002612) SHOW FIELDS FROM `accounts` SQL (0.000210) BEGIN SQL (0.000146) COMMIT Redirected to http://localhost:3000/accounts/new Completed in 0.03512 (28 reqs/sec) | DB: 0.00297 (8%) | 302 Found [http://localhost/accounts/new] And one last thing, how do I change this number verification? I need to "def validate" it myself? or the validates_numericality_of works only for US like formating? Thanks for the help. On Mar 11, 9:22 am, Mark Bush <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> Gabriel Hora wrote: > > <% form_for :account do %> > > #form_for will scope the account object saving you from referring to it > in every entry. Use: > > <% form_for(@account) do |f| %> > > Then the entries become: > > > <td class="field"><%= text_field :account, :name %></td> > > <%= f.text_field :name %> > > > <td class="field"><%= select("account", "bank_id", > > Bank.find(:all).map {|b| [b.name, b.id]}) %></td> > > I haven''t fully checked, but I don''t think #select is scoped, so leave > this as it is. > > > <td class="field"><%= text_field :account, :number %></td> > > <%= f.text_field :number %> > > > <td class="field"><%= text_field :account, :initial_balance %></td> > > <%= f.text_field :initial_balance %> > > > <td class="field"><%= text_field :account, :comment %></td> > > <%= f.text_field :comment %> > > > <td colspan="2" class="label"><%= submit_tag "OK" %></td> > > <%= f.submit "OK" %> > > If this fails, send the errors from your log file along with the > parameters in the log being sent to your #new action. > > -- > Posted viahttp://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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
You may have posted the wrong fragment, or misunderstood the intention of the controller. The ''new'' method (shown above) is intended only to return a blank form that you can fill out. The ''create'' method should be used to save the data for the first time. As for the formatting, you may need to use a :before_validation callback to massage the numeric into the ''correct'' form. On Mar 11, 8:43 am, Gabriel Hora <gabrielh...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> I found the problem. > > I''m from Brazil so we write numbers like this 15.000,00 (comma as > decimal separator)... > I was inputing like this in the form and it didn''t work, when I > changed to this 15000.00 it worked. > But, there was nothing on the log giving me any tips for that...no SQL > error messages, no nothing... > > This is the entry on the log...between the BEGIN the COMMIT there''s > nothing...as if there was no SQL to execute. > That''s kinda weird, right? Or is it the right behavior? > > Processing AccountsController#new (for 127.0.0.1 at 2008-03-11 > 09:31:58) [POST] > Session ID: > BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo > %0ASGFzaHsABjoKQHVzZWR7AA%3D > %3D--9e3a490edfbb816e5ed5e0d1573fbdd514229823 > Parameters: {"commit"=>"OK", "account"=>{"name"=>"Nova conta", > "number"=>"5218 211455", "currency_id"=>"1", > "initial_balance"=>"1520,00", "bank_id"=>"1", "comment"=>"Sem > comentários"}, "action"=>"new", "controller"=>"accounts"} > Account Columns (0.002612) SHOW FIELDS FROM `accounts` > SQL (0.000210) BEGIN > SQL (0.000146) COMMIT > Redirected tohttp://localhost:3000/accounts/new > Completed in 0.03512 (28 reqs/sec) | DB: 0.00297 (8%) | 302 Found > [http://localhost/accounts/new] > > And one last thing, how do I change this number verification? I need > to "def validate" it myself? > or the validates_numericality_of works only for US like formating? > > Thanks for the help. > > On Mar 11, 9:22 am, Mark Bush <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> > wrote: > > > Gabriel Hora wrote: > > > <% form_for :account do %> > > > #form_for will scope the account object saving you from referring to it > > in every entry. Use: > > > <% form_for(@account) do |f| %> > > > Then the entries become: > > > > <td class="field"><%= text_field :account, :name %></td> > > > <%= f.text_field :name %> > > > > <td class="field"><%= select("account", "bank_id", > > > Bank.find(:all).map {|b| [b.name, b.id]}) %></td> > > > I haven''t fully checked, but I don''t think #select is scoped, so leave > > this as it is. > > > > <td class="field"><%= text_field :account, :number %></td> > > > <%= f.text_field :number %> > > > > <td class="field"><%= text_field :account, :initial_balance %></td> > > > <%= f.text_field :initial_balance %> > > > > <td class="field"><%= text_field :account, :comment %></td> > > > <%= f.text_field :comment %> > > > > <td colspan="2" class="label"><%= submit_tag "OK" %></td> > > > <%= f.submit "OK" %> > > > If this fails, send the errors from your log file along with the > > parameters in the log being sent to your #new action. > > > -- > > Posted viahttp://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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---