undefined method `devise_for' in rails - ruby-on-rails

After I install devise and create a user model. I rake db:migrate and then I rake routes. I then get a error with "undefined method `devise_for' for #". What could be causing this error?

Remember to restart your rails server after installing and configuring devise.

If you have the Devise gem specified in the Gemfile, just make sure you have the following in your routes.rb file:
devise_for :users
Also, here's a trick to make sure Devise is mapped properly, run: rails c, (the Rails app console) in your app's folder and then the following command line:
Devise.mappings.keys
You should see:
=> [:user]
Cheers!

Honestly, I would recommend following these two Railscasts (Episode 209 and Episode 210). The first is a simple and very easy walkthrough for installing Devise and the second is about customizing it to fit your application.
I've watched both episodes and they drastically helped me with Devise, particularly with the customization.
Your best bet is to start from scratch - you'll learn a heck of a lot and have Devise fully installed and functional.
Hope this helps! Good luck.

You may need to do a bundle install

Related

devise ActiveRecord::StatementInvalid in Devise::SessionsController#new error

I'm a new to rails so I'm still learning some concepts.
I installed the ruby gem devise to help with adding users/database etc..
I'm getting an error when I'm trying to access paths provided by devise.
The URL for my page is
https://rubypractice-minhaja.c9users.io
And for example if I try to access
https://rubypractice-minhaja.c9users.io//users/sign_in
I get the same error mentioned in my title I've tried for a long time to look up for a solution but I'm yet to find one.
I did check rails routes and all the routes are there so I'm not sure what the issue is.
https://github.com/minhajahmed1/event_platform
Above is the link to my github if that helps. I would really appreciate any help I get, thanks.
The line
$ rails generate devise MODEL
Was just an example, if you read the instructions you should have replaced "MODEL" with your model name "User"
$ rails generate devise User

Routing Error when used Authlogic with Rails 3.2.9

I have configured authlogic gem for user management needs by referring https://github.com/jonathandean/authlogic_example. I have configured everything correctly. I am using Rails 3.2.9 and ruby 1.8.7. I am getting the following error when I took localhost:3000
Routing Error
undefined method `filter_parameter_logging' for ApplicationController:Class
Try running rake routes for more information on available routes.
Please help to resolve this. Thanks for any help :)-
I got the problem resolved.
The answer is, in Rails 3, filter_parameter_logging in ActionController is deprecated and has no effect, so remove that line and set ‘config.filter_parameters’ in config/application.rb instead, like this:
config.filter_parameters += [:password, :password_confirmation]
Problem resolved.

How to actually use rails-settings?

I'm trying to use rails-settings gem but i'm not sure how to do that.
I've added ledermann-rails-gem gem to Gemfile, runned bundle install, generated a migration based on what's written in wiki, runned rake db:migrate, restarted a server and now, when i'm trying to do anything from rails-settings wiki, i'm getting an error.
Let's say i want to create new variable so i'm putting this code to my controller:
Settings.foo = "bar"
It gives me the following error:
uninitialized constant ApplicationController::Settings
I'm quite 'fresh' in rails development and probably there is some small thing which wasn't mentioned in the wiki because it's obvious (but not for me!). Any help would be appreciated

Migrate from restful_authentication to devise

i've been using rails 2 for a project and restful_authentication with it. Recently, i changed that project to rails 3 and i found out about devise, that to my eyes seems a much better solution that restful_authentication.
Therefore, i decided that it would be a good idea to migrate to devise, but it seems that the procedure is pretty tedious and error prone. I would like to ask you if you know of any good resource that describes the procedure, because doing it from scratch is a bit of a hassle.
rails generate devise:install
rails generate devise User
rake db:migrate
That's all there is for now, you get routes and functionality like /users/sign_(in|out|up) from start.
Resources:
Railscasts "Introducing Devise"
Devise Readme
Example application
You can try Migrating from Restful Authentication to Devise, but so far nothing for me. :(

Any working tutorials for Authlogic?

I've been trying to build my first rails app and have gotten stuck on the issue of user authentication. I've found a number of tutorials for using various plug-ins to do this, but so far every single one of them is out-dated, and as a result, broken!
From what I've read, I think Authlogic may be the best fit for me, and I've tried two things:
1) Going through Railscast, episode #160 (which is a tutorial for setting it up)
2) Using Ryan B's nifty_authentication gem with the --authlogic tag
In both cases, I get the following error as soon as I try to do anything with a user:
undefined local variable or method `acts_as_authentic' for #
I believe this is from the User model:
class User < ActiveRecord::Base
acts_as_authentic
end
I'm sure I've installed the authlogic gem, and I've added
config.gem "authlogic"
to my environment.rb
Any ideas about what's wrong? Anybody know of a complete and up to date tutorial for adding user authentication?
Edit:
I'm running Ruby v. 1.8.6 and rails v. 2.3.5
There is one thing that Ryan Bates in the RailsCasts episode doesn't talk about is about creating sessions table in your database. Type rake db:sessions:create in the console and run the migration rake db:migrate. Also like ghoppe says run rake gems:install after installing the gem. That is a requisite.
Here's an example app with a step-by-step guide - it's from last year but should still be mostly if not entirely accurate:
authlogic_example
Since you added that line to your environment.rb, have you tried rake gems:install to ensure the gem is installed and working correctly?
Also, what version of Ruby? What version of Rails? Have you tried running gem environment and gem list to make sure they're installed and running from the right place?
Another option is to use authlogic as a plugin, with:
script/plugin install git://github.com/binarylogic/authlogic.git
It also helps to look at a projects that uses authlogic as authentication module, like the fat_free_crm project, have a look at user.rb there
Last but not least, there is an active mailing list:
authlogic mailing list
Becoming popular is also the devise gem. Here you can add authentication with script/generate devise and you will have some views for login as well.
I forked that authlogic_example and added activity_tracker, authlogic, paperclip for user profile images, declarative_authorization, and user to user messages.
http://github.com/jspooner/authlogic_cucumber_rspec_example

Resources