Sorry the error that i get should be like this:
Processing ArticlesController#7 (for 192.168.71.2 at 2008-10-07
20:22:14) [POST]
  Session ID:
BAh7CDoMY3NyZl9pZCIlZmYyODM1OGM3OGM5ODA5NThhYWM0MDIwMGM0Y2E3
ZDg6DHVzZXJfaWRpByIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxh
c2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7AA==--8a4d25e872b1a1d27e663069f94087a6245f75aa
  Parameters:
{"authenticity_token"=>"2f8d0d7adeea4495c27d1c045a14675dad7294f8",
"action"=>"7", "controller"=>"articles"}


ActionController::UnknownAction (No action responded to 7):
----------------------------------------------
On Oct 7, 8:32 pm, Shawn Tang <[EMAIL PROTECTED]> wrote:
> Hi,I am trying to create a user autentication system. Normally the
> user autentication system works fine but now i want to include the
> login and logout in the header of the application. so that u can login
> and logout in any part of the application
>
> this it the weird part of the problem. let's say i am in articles/
> search then i login and logout there is no problem. but when i go to
> articles/show i get
>
> ----------------------------------------------
>
> Processing GroceriesController#7 (for 192.168.71.2 at 2008-10-07
> 20:22:14) [POST]
>   Session ID:
> BAh7CDoMY3NyZl9pZCIlZmYyODM1OGM3OGM5ODA5NThhYWM0MDIwMGM0Y2E3
> ZDg6DHVzZXJfaWRpByIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxh
> c2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7AA==--8a4d25e872b1a1d27e663069f94087a6245f75aa
>   Parameters:
> {"authenticity_token"=>"2f8d0d7adeea4495c27d1c045a14675dad7294f8",
> "action"=>"7", "controller"=>"groceries"}
>
> ActionController::UnknownAction (No action responded to 7):
> ----------------------------------------------
>
> which does not make sense cause the logout link is linked to
> the :action :destroy
>
> Next i try logging out in search and logging in inside :show and
> logging out inside :show as well and everything works.
>
> ------------------------------------------------
> here is the Layout :
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
> "http://www.w3.org/TR/html4/loose.dtd";>
> <html>
>
>         <head>
>
>         <%= stylesheet_link_tag 'star' %>
>         <%= javascript_include_tag :defaults, "jquery" %>
>
>         </head>
>
>         <body>
>                                         <div id="login_panel">
>                                         <%= render :partial => 'login_panel'%>
>                                 </div>
>
>                         <%= yield %>
>         </body>
> </html>
>
> Partial view "_login_panel.html.erb":
>
> <div id="searchlist"> <span align="right" class="list-signup">
>                         <% if logged_in? && session[:user_id]%>
>
>                         <%= User.find(session[:user_id]).login %> ,you are 
> logged in!  || <
> %= link_to_remote "logout", :url => {:controller =>
> 'articles', :action => 'destroy'} %>
>
>                         <% else %>
>
> <% form_remote_tag :url => {:controller => "articles", :action =>
> "create"} do %>
> <label for="login">Login:</label>
> <%= text_field_tag :login, params[:login] %>
>
> <label for="password">Password:</label>
> <%= password_field_tag 'password' %>
>
> <label for="remember_me">Remember me for 2 weeks:</label>
> <%= check_box_tag 'remember_me' %>
>
> <%= submit_tag 'Log in' %>
> <% end -%>
>
>                         <% end -%>
> </span></div>
>
> ---------------------------------------------------------
>
> Articles controller:
>
> class ArticlesController < ApplicationController
>
> protect_from_forgery :only => [:create, :delete, :update]
>
>  def create
>       password_authentication(params[:login], params[:password])
>   end
>
>         def rate
>         @articles = Article.find(params[:id])
>         @articles.rate(params[:stars], User.find(session[:user_id]))
>         # some page update here …
>
>                                         respond_to do |format|
>
>                                                 format.js {
>                                                         render :update do 
> |page|
>                                 page.replace_html 'ratingdiv', :partial => 
> 'grocery_with_rating'
>
>                                                         end
>                                       }
>                               end
>         end
>
>         def search
>                         articles_per_page = 12
>
>                         @articles = Article.search params[:query], {:page =>
> params[:page], :per_page => articles_per_page}
>
>                         if request.xml_http_request?
>                               render :partial => "search", :layout => false
>                         end
>                 end
>
>         def show
>             @articles = Article.find(params[:id])
>
>             respond_to do |format|
>               format.html # index.html.erb
>               format.xml  { render :xml => @articles }
>                 end
>
>         end
>
>   def destroy
>
>         self.current_user.forget_me if logged_in?
>     cookies.delete :auth_token
>     reset_session
>     render :update do |page|
>       page.replace_html "login_panel", :partial => "login_panel"
>     end
>   end
>
> protected
>
>   # Updated 2/20/08
>   def password_authentication(login, password)
>     user = User.authenticate(login, password)
>     if user == nil
>       failed_login("Your username or password is incorrect.")
>     elsif user.activated_at.blank?
>       failed_login("Your account is not active, please check your
> email for the activation code.")
>     elsif user.enabled == false
>       failed_login("Your account has been disabled.")
>     else
>       self.current_user = user
>       successful_login
>     end
>   end
>
>   private
>
>   def failed_login(message)
>     flash.now[:error] = message
>     render :action => 'new'
>   end
>
>   def successful_login
>     if params[:remember_me] == "1"
>       self.current_user.remember_me
>       cookies[:auth_token] = { :value =>
> self.current_user.remember_token , :expires =>
> self.current_user.remember_token_expires_at }
>   else
>           self.current_user.remember_me2
>       cookies[:auth_token] = { :value =>
> self.current_user.remember_token , :expires =>
> self.current_user.remember_token_expires_at }
>
>     end
>
>       flash[:notice] = "Logged in successfully"
>       return_to = session[:return_to]
>       if return_to.nil?
>             render :update do |page|
>       page.replace_html "login_panel", :partial => "login_panel"
>     end
>       else
>         redirect_to return_to
>       end
>   end
> end
--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to