user - rails tutorial: cookie doesn't match remember token -


i doing michael hartl's rails tutorial chapter 8. when try find user remember_token stored in browser cookie isn't working. find_by method returns nil. have been trying debug looking @ remember token cookie stored on browser , comparing remember token stored in user database. don't match , don't know why. here code session helper.

module sessionshelper    def sign_in(user)     remember_token = user.new_remember_token     cookies.permanent[:remember_token] = remember_token     user.update_attribute(:remember_token, user.encrypt(remember_token))     self.current_user = user   end    def signed_in?     !current_user.nil?   end    def current_user=(user)     @current_user = user   end    def current_user     #remember_token = user.encrypt(cookies[:remember_token])     remember_token = "71e45660fbaa69bad9fb55b912f80122a584f6af"     #@current_user ||= user.find_by(remember_token: remember_token)     @current_user ||= user.find_by_remember_token(remember_token)    end  end  

i have been tweaking try , figure out going on. debug commented out normal lines , set remember token explicitly value see in database - app works. when compare value of cookie stored in browser value of remember token stored in database don't match.

another thing noticed can't make call user_find_by. error says doesn't recognize method commented out. can call user.find_by_remember_token. possible have wrong version of installed?

i have tried resetting database - can see , looks has right columns.

here _header.html.erb code:

<header class="navbar navbar-fixed-top navbar-inverse">   <div class="navbar-inner">     <div class="container">       <%= link_to "sample app", root_path, id: "logo" %>       <nav>         <ul class="nav pull-right">           <li><%= link_to "home", root_path %></li>           <li><%= link_to "help", help_path %></li>           <% if signed_in? %>             <li><%= link_to "users", '#' %></li>             <li id="fat-menu" class="dropdown">               <a href="#" class="dropdown-toggle" data-toggle="dropdown">                 account <b class="caret"></b>               </a>               <ul class="dropdown-menu">                 <li><%= link_to "profile", current_user %></li>                 <li><%= link_to "settings", '#' %></li>                 <li class="divider"></li>                 <li>                   <%= link_to "sign out", signout_path, method: "delete" %>                 </li>               </ul>             </li>           <% else %>             <li><%= link_to "sign in", signin_path %></li>           <% end %>         </ul>       </nav>     </div>   </div> </header> 

it looks problem line 20 in sessionshelper. should be:

@current_user ||= user.find_by(remember_token: remember_token) 

instead of passing remember token user.find_by() method you're attempting call method find_by_remember_token, doesn't exist.


Comments

Popular posts from this blog

How to mention the localhost in android -

php - Calling a template part from a post -

c# - String.format() DateTime With Arabic culture -