The controller is the "home" controller and looks like this (very basic):
class HomeController < ApplicationController def index end end The view for the home controller is is just a basic home page and I just wanted to render a login partial there since I'm also planning to use it elsewhere in the app. I assumed that there is no user_session, since a user is not logged in at this point. So, I didn't think I would need to pass it anything. I can hit http://mysite/lgoin without passing any instance variables and it shows the partial properly. Here's a trace: Showing app/views/user_sessions/_user_session.html.erb where line #1 raised: Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id Extracted source (around line #1): 1: <% form_for @user_session, :url => user_session_path do |f| %> 2: <%= f.error_messages %> 3: <%= f.label :email %><br /> 4: <%= f.text_field :email %><br /> Trace of template inclusion: app/views/home/index.html.erb RAILS_ROOT: c:/wwwroot/ror/blostm Application Trace | Framework Trace | Full Trace C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.4/lib/action_controller/ record_identifier.rb:76:in `dom_id' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.4/lib/action_view/ helpers/record_identification_helper.rb:16:in `dom_id' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.4/lib/action_view/ helpers/form_helper.rb:293:in `apply_form_for_options!' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.4/lib/action_view/ helpers/form_helper.rb:277:in `form_for' c:/wwwroot/ror/mysite/app/views/user_sessions/_user_session.html.erb: 1:in `_run_erb_app47views47user_sessions47_user_session46html46erb_locals_object_user_session' c:/wwwroot/ror/mysite/app/views/home/index.html.erb:4:in `_run_erb_app47views47home47index46html46erb' By the way, thanks for responding to my post. On Sep 24, 4:01 pm, pharrington <[email protected]> wrote: > On Sep 24, 3:06 pm, bui <[email protected]> wrote: > > > > > New to Rails. Using Authlogic for authentication and went through > > tutorial at github. Having a bit of a problem getting the login > > screen to render as a partial from a different view file. > > > I have a index.html.erb view file for the "home" controller. > > > I tried <%= render :partial => "user_sessions/user_session" %> > > > but it fails with this error: > > > "Called id for nil, which would mistakenly be 4 -- if you really > > wanted the id of nil, use object_id" > > > user_sessions is the view directory for the login form created through > > the Authlogic tutorial. I created a partial called > > _user_session.html.erb which contains the entire login form and looks > > like this: > > > <% form_for @user_session, :url => user_session_path do |f| %> > > <%= f.error_messages %> > > <%= f.label :email %><br /> > > <%= f.text_field :email %><br /> > > <br /> > > <%= f.label :password %><br /> > > <%= f.password_field :password %><br /> > > <br /> > > <%= f.check_box :remember_me %><%= f.label :remember_me %><br /> > > <br /> > > <%= image_submit_tag("/images/Login Button.jpg") %> > > <% end %> > > > user_sessions/new.html.erb now looks like this > > > <%= render :partial => 'user_session' %> > > > And this works: http://mysite/login (setup through a named route) > > And this works: http://mysite/user_sessions/new > > > However, trying this <%= render :partial => "user_sessions/ > > user_session" %> in the home/index.html.erb view fails. > > > Can anyone help with this? I seem to be missing something really > > fundamental here. > > > Thanks > > A guess, as I don't have the full backtrace and don't know what the > controller that passes to the view that calls the partial rendering > does: is the @user_session instance variable nil? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

