On Sat, Oct 16, 2010 at 8:33 AM, mattyh88 <[email protected]> wrote:

> Hi,
>
> I'm trying to setup the Authlogic gem. I've followed this tutorial:
> (because I'm using Rails 3)
> http://www.logansbailey.com/2010/10/06/how-to-setup-authlogic-in-rails-3/
>
> All of this works. But now I'd like to render the login form as a
> partial on every page of my site.
>
> 1) I've rendered the partial in my application.html.erb file as
> followed:
>
> <%= render :partial => "user_sessions/form" %>
>
> 2) When I start my server and try rendering my index view of my home
> controller, I get the following error:
>
> undefined method `model_name' for NilClass:Class
> Extracted source (around line #1):
> 1: <%= form_for(@user_session) do |f| %>
> 2:   <% if @user_session.errors.any? %>
> 3:     <div id="error_explanation">
> 4:       <h2><%= pluralize(@user_session.errors.count, "error") %>
> prohibited this user_session from being saved:</h2>
>
> 3) I figured out I had to make a new @user_session var in the action
> method of my controller for every view I'd like to render my login
> form partial on.
>
> 4) I've put @user_session = UserSession.new in the "new"-action-method
> in my home controller and so my index view rendered fine. But now I'd
> like to render my login form on every page of my site.
>
> Is there a way to set the @user_session for every action? Like in the
> application_controller? How would you do that?
>

You should able to do this in the application_controller:

before_filter :new_user_session

private

def new_user_session
  @new_user_session = UserSession.new
end

Try that, should then have the @new_user_session available to you since all
controllers inherit from application controller.

>
> Thank you,
> Mathew
>
> --
> 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]<rubyonrails-talk%[email protected]>
> .
> 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 [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