I call a test method on posting data to a signup form def test_bad_signup u = User.new post :signup, :user => { :login => "newbob", :password => "newpassword", :password_confirmation => "wrong" , :email => "newbob-pbC8P9QkocYAvxtiuMwx3w@public.gmane.org"} assert_response :success assert !u.valid? assert u.errors.on(:password) assert_template "user/signup" assert_nil session[:user] end Here is the signup.html.erb <%= form_tag :action=> "signup" %> <%= error_messages_for ''user'' %><br/> <label for="user_login">Username</label><br/> <%= text_field "user", "login", :size => 20 %><br/> <label for="user_password">Password</label><br/> <%= password_field "user", "password", :size => 20 %><br/> <label for="user_password_confirmation">Password Confirmation</label><br/> <%= password_field "user", "password_confirmation", :size => 20 %><br/> <label for="user_email">Email</label><br/> <%= text_field "user", "email", :size => 20 %><br/> <%= submit_tag "signup" %> <% end %> I get the following error: test_bad_signup(UserControllerTest): ActionView::TemplateError: C:/VR/RailsPrograms/health/app/views/user/signup.html .erb:24: syntax error, unexpected keyword_ensure, expecting $end On line #24 of app/views/user/signup.html.erb 21: 22: <% end %> test/functional/user_controller_test.rb:43:in `test_bad_signup'' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:436:in `run'' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:415:in `block (2 levels) in run_te st_suites'' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:409:in `each'' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:409:in `block in run_test_suites'' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:408:in `each'' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:408:in `run_test_suites'' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:388:in `run'' C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:329:in `block in autorun'' Can someone please tell me what is wrong? -- 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-/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=en.
Frederick Cheung
2010-Jan-29 16:52 UTC
Re: syntax error, unexpected keyword_ensure, expecting $end
On Jan 29, 4:44 pm, Vishwa Rao <li...-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> Here is the signup.html.erb > <%= form_tag :action=> "signup" %>this should be <% form_tag :action=> "signup" do %> as it currently is you have an <% end %> at the bottom of your view but nothing that starts the block. Fred> <%= error_messages_for ''user'' %><br/> > > <label for="user_login">Username</label><br/> > <%= text_field "user", "login", :size => 20 %><br/> > > <label for="user_password">Password</label><br/> > <%= password_field "user", "password", :size => 20 %><br/> > > <label for="user_password_confirmation">Password > Confirmation</label><br/> > <%= password_field "user", "password_confirmation", :size => 20 %><br/> > > <label for="user_email">Email</label><br/> > <%= text_field "user", "email", :size => 20 %><br/> > > <%= submit_tag "signup" %> > <% end %> > > I get the following error: > test_bad_signup(UserControllerTest): > ActionView::TemplateError: > C:/VR/RailsPrograms/health/app/views/user/signup.html > .erb:24: syntax error, unexpected keyword_ensure, expecting $end > On line #24 of app/views/user/signup.html.erb > 21: > 22: <% end %> > test/functional/user_controller_test.rb:43:in `test_bad_signup'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:436:in `run'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:415:in `block (2 levels) > in run_te > st_suites'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:409:in `each'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:409:in `block in > run_test_suites'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:408:in `each'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:408:in `run_test_suites'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:388:in `run'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:329:in `block in autorun'' > > Can someone please tell me what is wrong? > -- > 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-/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=en.
Colin Law
2010-Jan-29 16:52 UTC
Re: syntax error, unexpected keyword_ensure, expecting $end
On 29 January 2010 16:44, Vishwa Rao <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> > I call a test method on posting data to a signup form > def test_bad_signup > u = User.new > post :signup, :user => { :login => "newbob", :password => > "newpassword", :password_confirmation => "wrong" , :email => > "newbob-pbC8P9QkocYAvxtiuMwx3w@public.gmane.org"} > assert_response :success > assert !u.valid? > assert u.errors.on(:password) > assert_template "user/signup" > assert_nil session[:user] > end > > Here is the signup.html.erb > <%= form_tag :action=> "signup" %> > <%= error_messages_for ''user'' %><br/> > > <label for="user_login">Username</label><br/> > <%= text_field "user", "login", :size => 20 %><br/> > > <label for="user_password">Password</label><br/> > <%= password_field "user", "password", :size => 20 %><br/> > > <label for="user_password_confirmation">Password > Confirmation</label><br/> > <%= password_field "user", "password_confirmation", :size => 20 %><br/> > > <label for="user_email">Email</label><br/> > <%= text_field "user", "email", :size => 20 %><br/> > > <%= submit_tag "signup" %> > <% end %>Don''t you need a ''do'' somewhere to match the ''end''? Colin> > I get the following error: > test_bad_signup(UserControllerTest): > ActionView::TemplateError: > C:/VR/RailsPrograms/health/app/views/user/signup.html > .erb:24: syntax error, unexpected keyword_ensure, expecting $end > On line #24 of app/views/user/signup.html.erb > 21: > 22: <% end %> > test/functional/user_controller_test.rb:43:in `test_bad_signup'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:436:in `run'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:415:in `block (2 levels) > in run_te > st_suites'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:409:in `each'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:409:in `block in > run_test_suites'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:408:in `each'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:408:in `run_test_suites'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:388:in `run'' > C:/Ruby19/lib/ruby/1.9.1/minitest/unit.rb:329:in `block in autorun'' > > Can someone please tell me what is wrong? > -- > 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-/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=en. > >-- 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=en.
Vishwa Rao
2010-Jan-29 19:09 UTC
Re: syntax error, unexpected keyword_ensure, expecting $end
Fred, Colin Thank you very much. I am learning rails very slowly I corrected the signup.html.erb <h1>Signup</h1> <% form_tag :action=> ''signup'' do %> <%= error_messages_for ''user'' %> <br/> <h3>Signup</h3> <label for="user_login">Username</label><br/> <%= text_field "user", "login", :size => 20 %><br/> <label for="user_password">Password</label><br/> <%= password_field "user", "password", :size => 20 %><br/> <label for="user_password_confirmation">Password Confirmation</label><br/> <%= password_field "user", "password_confirmation", :size => 20 %><br/> <label for="user_email">Email</label><br/> <%= text_field "user", "email", :size => 20 %><br/> <%= submit_tag "Signup" %> <% end %> here is my login.html.erb <% form_tag :action=> ''Login'' do %> <h3>Login</h3> <label for="user_login">Login:</label><br/> <%= text_field "user", "login", :size => 20 %><br/> <label for="user_password">Password:</label><br/> <%= password_field "user", "password", :size => 20 %><br/> <%= submit_tag "Submit" %> <%= link_to ''Register'', :action => ''signup'' %> | <%= link_to ''Forgot my password'', :action => ''forgot_password'' %> <% end %> Here is the index.html.erb <h1>Welcome </h1> <%= link_to ''Login'' %> index.html.erb is linked to an application layout file: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" > <head> <meta name="Description" content="Your description"/> <meta name="KeyWords" content="Your keywords"/> <meta http-equiv="X-UA-Compatible" content="IE=8"/> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title><%= "Your Custom Title" || yield(:title) %></title> <%= stylesheet_link_tag(''default.css'') %> <%= javascript_include_tag(:defaults) %> <%= yield(:head) -%> </head> <body id="Test"> <div id="banner"> <%= image_tag("rails.png") %> <%= @page_title || "MyApp" %> </div> <div id="topbar"> <%= @menus || "Menus.." %> </div> <div id="columns"> <div id="side"> <h1> Menu </h1> </div> <div id="main"> <%= yield %> </div> </div> </html> Fnally, the in Route.rb, I have entry like this; map.login ''Login'', :controller => ''user'', :action => ''login'' I get to index.hrml.erb and then I click on Login herplink the view does not change. The URL at the top of the window changes to http://localhost:3000/home Here are two of my questions: (1) I want it to change to http://localhost:3000/user/login where user is the controller and login is the action How can I do that? (2) Also I was testing the url; http://localhost:3000/user/signup The command line windows shows these messages; Processing UserController#signup (for 127.0.0.1 at 2010-01-29 13:02:01) [POST] Parameters: {"authenticity_token"=>"I12vtv4ddgAIDHSnK6VjZAY8hFsh5Sfp8C3gx91VdK k=", "user"=>{"login"=>"vrao123", "password"=>"test123", "password_confirmation" =>"test123", "email"=>"vrao123-B4qg7kJ0jjfQT0dZR+AlfA@public.gmane.org"}, "commit"=>"Signup"} ?[4;35;1mUser Columns (0.0ms)?[0m ?[0mSHOW FIELDS FROM `users`?[0m ?[4;36;1mSQL (0.0ms)?[0m ?[0;1mBEGIN?[0m ?[4;35;1mUser Load (0.0ms)?[0m ?[0mSELECT `users`.id FROM `users` WHERE (`us ers`.`login` = BINARY ''vrao123'') LIMIT 1?[0m ?[4;36;1mUser Load (0.0ms)?[0m ?[0;1mSELECT `users`.id FROM `users` WHERE (` users`.`email` = BINARY ''vrao123-B4qg7kJ0jjfQT0dZR+AlfA@public.gmane.org'') LIMIT 1?[0m ?[4;35;1mSQL (0.0ms)?[0m ?[0mROLLBACK?[0m Rendering template within layouts/application Rendering user/signup Completed in 47ms (View: 0, DB: 0) | 200 OK [http://localhost/user/signup] It is not creating an user entry in the database or giving any failure. Why? -- 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-/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=en.