Learning Devise for Rails

I'm new to rails and was trying to get a handle on Devise. I'm following the Packt Pub - Learning Devise For Rails tutorial and have a problem around pg 19-20 (CH2). I've created a user, logged out, but when I try to login again I get this error:

NameError in Devise::SessionsController#create undefined local variable or method `signin' for #<Class:0x00000004352b00>

I was confused because I see "Sessions Controller" in the error, but the code lists is in my devise user model:

class User < ActiveRecord::Base

  # Include default devise modules. Others available are:   # :confirmable, :lockable, :timeoutable and :omniauthable   devise :database_authenticatable, :registerable,          :recoverable, :rememberable, :trackable, :validatable

    attr_accessor :signin

    validates :username, :uniqueness => {:case_sensitive => false}

    def self.find_first_by_auth_conditions(warden_conditions)       conditions = warden_conditions.dup       where(conditions).where(["lower(username) = :value         OR lower(email) = :value", { :value => signin.downcase }]).first     end

end

Here's a link to everything I have so far: https://github.com/GBressler/Learning-Devise-for-Rails/tree/master/Ch2/first_app_extensions

The tutorial:

Any help that could be provided would be greatly appreciated!

Attachments: http://www.ruby-forum.com/attachment/10847/Screenshot_from_2015-06-08_22_52_49.jpg

If you are using Rails 4+, you need to read the Strong parameter section of the Devise github page here.

I'm new to rails and was trying to get a handle on Devise. I'm following the Packt Pub - Learning Devise For Rails tutorial and have a problem around pg 19-20 (CH2). I've created a user, logged out, but when I try to login again I get this error:

NameError in Devise::SessionsController#create undefined local variable or method `signin' for #<Class:0x00000004352b00>

I was confused because I see "Sessions Controller" in the error, but the code lists is in my devise user model:

class User < ActiveRecord::Base

# Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable and :omniauthable devise :database_authenticatable, :registerable,         :recoverable, :rememberable, :trackable, :validatable

   attr_accessor :signin

What is this attar_accessor supposed to do? Do you set it to a value at any point? This is not a part of Devise, as far as I can tell.

Walter

I found this link very interesting:

I don’t know the dynamics of Devise, but I looked at your application: 2 controllers: application and home. home has show, new, edit defs. All empty 1 model user 3 view folders: devise, home, layouts. Devise has folder session with new.html.erb. It has: <%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>

<%= f.label "Username or Email" %>
<%= f.text_field :signin, autofocus: true %>
Where have you defined resource?

Thanks for the help, everyone. After following the link to github that Elizabeth posted I was able to cut and paste some updated code.

Thanks again.