How can I generate devise sign_in form within different controller?

I am trying to generate devise sign_in form, from the different
controller/views( which is called 'mains_controller' in my case)

I asked a question on stackoverflow.com but did not get the satisfiable
answer. You can read the specific question in there.

http://stackoverflow.com/questions/4081744/devise-form-within-a-different-controller

I am stuck with the 'build_resource' from devise. The session_controller
which takes care of sign_in/sign_out has a method call called
'build_resource.' It seems that build_resource creates a adequate value
for 'resource' and 'resource_name' for sign_in form.

<%= form_for(resource, :as => resource_name, :url =>
session_path(resource_name)) do |f| %>

But thats the case in devise related controllers. If i put
'build_resource' line with in my own 'mains_controller' it throws out
error saying that there is no such method like 'build_resource.'

How can I resolve this problem?
If I create a form inline ruby code, it seems that

  <% if devise_mapping.rememberable? -%>
    <p><%= f.check_box :remember_me %> <%= f.label :remember_me %></p>
  <% end -%>

'devise_mapping' part above does not work.