rails generate controller command is not executed - ruby-on-rails

I am trying to generate a controller in my rails app using the following command:
rails generate controller CreditCard
but it simply returns me the following:
Usage:
rails new APP_PATH [options]
Options:
-r, [--ruby=PATH] # Path to the Ruby binary of your choice
# Default: /export/data0/home/tanya/.rvm/rubies/ruby-1.9.3-p448/bin/ruby
-b, [--builder=BUILDER] # Path to a application builder (can be a filesystem path or URL)
-m, [--template=TEMPLATE] # Path to an application template (can be a filesystem path or URL)
[--skip-gemfile] # Don't create a Gemfile
[--skip-bundle] # Don't run bundle install
-G, [--skip-git] # Skip Git ignores and keeps
-O, [--skip-active-record] # Skip Active Record files
-S, [--skip-sprockets] # Skip Sprockets files
-d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)
# Default: sqlite3
-j, [--javascript=JAVASCRIPT] # Preconfigure for selected JavaScript library
# Default: jquery
-J, [--skip-javascript] # Skip JavaScript files
[--dev] # Setup the application with Gemfile pointing to your Rails checkout
[--edge] # Setup the application with Gemfile pointing to Rails repository
-T, [--skip-test-unit] # Skip Test::Unit files
[--old-style-hash] # Force using old style hash (:foo => 'bar') on Ruby >= 1.9
Runtime options:
-f, [--force] # Overwrite files that already exist
-p, [--pretend] # Run but do not make any changes
-q, [--quiet] # Suppress status output
-s, [--skip] # Skip files that already exist
Rails options:
-h, [--help] # Show this help message and quit
-v, [--version] # Show Rails version number and quit
Description:
The 'rails new' command creates a new Rails application with a default
directory structure and configuration at the path you specify.
You can specify extra command-line arguments to be used every time
'rails new' runs in the .railsrc configuration file in your home directory.
Note that the arguments specified in the .railsrc file don't affect the
defaults values shown above in this help message.
Example:
rails new ~/Code/Ruby/weblog
This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
See the README in the newly created application to get going.
Even running 'rails console' return me the same message.I don't understand why the generate command does not work.
I am currently using rails 3.2.13 and ruby 1.9.3.
Thanks a lot for your help.

I think you are not in rails application directory. Please check path and run command again.
This message generally occurred when you try to run generate controller command out of application directory.

I think you are not running the command inside Rails root directory.You have to navigate to the application before running the rails generators.If you have an application named blog then follow the below commands
cd blog
rails g controller posts

Thanks a lot for all you suggestions. What I did was simply to create a new application using rails new new_app and copy the files of my original rails application to this new directory.
After I did that, it seems to work fine. I must have messed up something in the original application folder.

Related

Can not acces localhost:3000 ruby on rails ubuntu

I have been trying to access or at least show my server in my Rails by running the command rails s or rails server and it does not work:
At first it told me I had to install new gems and to run the command bundle install to upgrade them and I did. It installed everything "correctly".
Now instead, I just get some usage help instead of Rails (for example commands I can use). I thought that Rails was out but I run the command rails new myApp and it does create me one and the bundle installs ok. I just want to start my app and try localhost:port, and that to open my app.
It happens the same when I try to generate something, for example rails g model OneModel (or generate instead of g) and for anything I want to generate. It seems it isn't understanding my commands.
I am noob new to ubuntu and far beyond that new to Rails and ruby. If you can help me I'd be so glad. Here's the output I get:
agustin#agustin:~/Agustin/myapp$ rails s
Usage:
rails new APP_PATH [options]
Options:
-r, [--ruby=PATH] # Path to the Ruby binary of your choice
# Default: /usr/bin/ruby
-b, [--builder=BUILDER] # Path to a application builder (can be a filesystem path or URL)
-m, [--template=TEMPLATE] # Path to an application template (can be a filesystem path or URL)
[--skip-gemfile] # Don't create a Gemfile
[--skip-bundle] # Don't run bundle install
-G, [--skip-git] # Skip Git ignores and keeps
-O, [--skip-active-record] # Skip Active Record files
-S, [--skip-sprockets] # Skip Sprockets files
-d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)
# Default: sqlite3
-j, [--javascript=JAVASCRIPT] # Preconfigure for selected JavaScript library
# Default: jquery
-J, [--skip-javascript] # Skip JavaScript files
[--dev] # Setup the application with Gemfile pointing to your Rails checkout
[--edge] # Setup the application with Gemfile pointing to Rails repository
-T, [--skip-test-unit] # Skip Test::Unit files
[--old-style-hash] # Force using old style hash (:foo => 'bar') on Ruby >= 1.9
Runtime options:
-f, [--force] # Overwrite files that already exist
-p, [--pretend] # Run but do not make any changes
-q, [--quiet] # Suppress status output
-s, [--skip] # Skip files that already exist
Rails options:
-h, [--help] # Show this help message and quit
-v, [--version] # Show Rails version number and quit
Description:
The 'rails new' command creates a new Rails application with a default
directory structure and configuration at the path you specify.
You can specify extra command-line arguments to be used every time
'rails new' runs in the .railsrc configuration file in your home directory.
Note that the arguments specified in the .railsrc file don't affect the
defaults values shown above in this help message.
Example:
rails new ~/Code/Ruby/weblog
This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
See the README in the newly created application to get going.
agustin#agustin:~/Agustin/myapp$
You have to run rails s from the project root directory.
eg, If you create a rails application, say rails new my_app, it will create a skeleton application my_app in the current directory. Now you have to cd to that directory to start the server

'rails server' command not working in terminal

I'm pretty new to rails, and trying to setup an extremely simple test site.
I've created the new rails app directory using the rails new command, but then cannot setup the server to view the page in a browser.
(Below is the message I receive when attempting rails server)
MacBook-Pro:documents AT$ rails server
Usage:
rails new APP_PATH [options]
Options:
-r, [--ruby=PATH] # Path to the Ruby binary of your choice
# Default: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
-m, [--template=TEMPLATE] # Path to some application template (can be a filesystem path or URL)
[--skip-gemfile], [--no-skip-gemfile] # Don't create a Gemfile
-B, [--skip-bundle], [--no-skip-bundle] # Don't run bundle install
-G, [--skip-git], [--no-skip-git] # Skip .gitignore file
[--skip-keeps], [--no-skip-keeps] # Skip source control .keep files
-O, [--skip-active-record], [--no-skip-active-record] # Skip Active Record files
-V, [--skip-action-view], [--no-skip-action-view] # Skip Action View files
-S, [--skip-sprockets], [--no-skip-sprockets] # Skip Sprockets files
[--skip-spring], [--no-skip-spring] # Don't install Spring application preloader
-d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)
# Default: sqlite3
-j, [--javascript=JAVASCRIPT] # Preconfigure for selected JavaScript library
# Default: jquery
-J, [--skip-javascript], [--no-skip-javascript] # Skip JavaScript files
[--dev], [--no-dev] # Setup the application with Gemfile pointing to your Rails checkout
[--edge], [--no-edge] # Setup the application with Gemfile pointing to Rails repository
-T, [--skip-test-unit], [--no-skip-test-unit] # Skip Test::Unit files
[--rc=RC] # Path to file containing extra configuration options for rails command
[--no-rc], [--no-no-rc] # Skip loading of extra configuration options from .railsrc file
Runtime options:
-f, [--force] # Overwrite files that already exist
-p, [--pretend], [--no-pretend] # Run but do not make any changes
-q, [--quiet], [--no-quiet] # Suppress status output
-s, [--skip], [--no-skip] # Skip files that already exist
Rails options:
-h, [--help], [--no-help] # Show this help message and quit
-v, [--version], [--no-version] # Show Rails version number and quit
Description:
The 'rails new' command creates a new Rails application with a default
directory structure and configuration at the path you specify.
You can specify extra command-line arguments to be used every time
'rails new' runs in the .railsrc configuration file in your home directory.
Note that the arguments specified in the .railsrc file don't affect the
defaults values shown above in this help message.
Example:
rails new ~/Code/Ruby/weblog
This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
See the README in the newly created application to get going.
make sure your bin folder isn't empty..you might need to run this if it is
rake rails:update:bin
Change your current directory to the project directory and execute the rails server command.
example:
$rails new demo_app
$cd demo_app
$rails s
rails server command will start the server if you are inside a rails project directory. When you execute rails new demo_app it creates a directory called demo_app, which contains your new rails project. In your case rails server did not work because you are not inside demo_app directory.
You are not in the rails app directory.
As you already have a project then go to its directory.
To change directory do:
cd path/to/project/rails_project_name
To setup the server to view the page in a browser, you need to be in rails project directory.
So just change directory to your project directory you just have created, using cd command as
cd path_of_rails_project
and now use rails server
for details, you can refer http://guides.rubyonrails.org/getting_started.html
You can not start the Rails server unless you're in your project directory.
Suppose if you're working on myapp project. You've to move to that project directory on your command line and then run the Rails server.
Example: Assuming you didn't create the Rails app yet:
$> rails new myapp
$> cd myapp
Now start the Rails server with either of these two commands:
$> rails server
or:
$> rails s
Assuming you have tried running this command in side the rails application directory, have you checked that your Rails application directory includes the /bin folder? If this is gone you will not be able to run common rails commands.
I ran into this problem and ended up creating a new rails application and copying the bin folder over to restore functionality.

Rails prints help for any command

No matter what command I run I get the following output. My path seems to be correct. I have no idea what is going on. I just added ruby-1.9.3-p448 to rvm but I think this problem started when I upgraded to OS X 10.9. Please help:
Usage:
rails new APP_PATH [options]
Options:
-r, [--ruby=PATH] # Path to the Ruby binary of your choice
# Default: /Users/markrusson/.rvm/rubies/ruby-1.9.3-p448/bin/ruby
-b, [--builder=BUILDER] # Path to a application builder (can be a filesystem path or URL)
-m, [--template=TEMPLATE] # Path to an application template (can be a filesystem path or URL)
[--skip-gemfile] # Don't create a Gemfile
[--skip-bundle] # Don't run bundle install
-G, [--skip-git] # Skip Git ignores and keeps
-O, [--skip-active-record] # Skip Active Record files
-S, [--skip-sprockets] # Skip Sprockets files
-d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)
# Default: sqlite3
-j, [--javascript=JAVASCRIPT] # Preconfigure for selected JavaScript library
# Default: jquery
-J, [--skip-javascript] # Skip JavaScript files
[--dev] # Setup the application with Gemfile pointing to your Rails checkout
[--edge] # Setup the application with Gemfile pointing to Rails repository
-T, [--skip-test-unit] # Skip Test::Unit files
[--old-style-hash] # Force using old style hash (:foo => 'bar') on Ruby >= 1.9
Runtime options:
-f, [--force] # Overwrite files that already exist
-p, [--pretend] # Run but do not make any changes
-q, [--quiet] # Suppress status output
-s, [--skip] # Skip files that already exist
Rails options:
-h, [--help] # Show this help message and quit
-v, [--version] # Show Rails version number and quit
Description:
The 'rails new' command creates a new Rails application with a default
directory structure and configuration at the path you specify.
You can specify extra command-line arguments to be used every time
'rails new' runs in the .railsrc configuration file in your home directory.
Note that the arguments specified in the .railsrc file don't affect the
defaults values shown above in this help message.
Example:
rails new ~/Code/Ruby/weblog
This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
See the README in the newly created application to get going.
For rails 4.0.1, you might be missing your "bin" directory within the created project. Create a new project, and copy the "bin" directory from that one.

Rails g migration doesn't work

When I run the command
rails g migration migration_name
I will get the "error" message:
Usage:
rails new APP_PATH [options]
Options:
-r, [--ruby=PATH] # Path to the Ruby binary of your choice
# Default: /Users/radek/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
-b, [--builder=BUILDER] # Path to a application builder (can be a filesystem path or URL)
-m, [--template=TEMPLATE] # Path to an application template (can be a filesystem path or URL)
[--skip-gemfile] # Don't create a Gemfile
[--skip-bundle] # Don't run bundle install
-G, [--skip-git] # Skip Git ignores and keeps
-O, [--skip-active-record] # Skip Active Record files
-S, [--skip-sprockets] # Skip Sprockets files
-d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)
# Default: sqlite3
-j, [--javascript=JAVASCRIPT] # Preconfigure for selected JavaScript library
# Default: jquery
-J, [--skip-javascript] # Skip JavaScript files
[--dev] # Setup the application with Gemfile pointing to your Rails checkout
[--edge] # Setup the application with Gemfile pointing to Rails repository
-T, [--skip-test-unit] # Skip Test::Unit files
[--old-style-hash] # Force using old style hash (:foo => 'bar') on Ruby >= 1.9
Runtime options:
-f, [--force] # Overwrite files that already exist
-p, [--pretend] # Run but do not make any changes
-q, [--quiet] # Suppress status output
-s, [--skip] # Skip files that already exist
Rails options:
-h, [--help] # Show this help message and quit
-v, [--version] # Show Rails version number and quit
Description:
The 'rails new' command creates a new Rails application with a default
directory structure and configuration at the path you specify.
You can specify extra command-line arguments to be used every time
'rails new' runs in the .railsrc configuration file in your home directory.
Note that the arguments specified in the .railsrc file don't affect the
defaults values shown above in this help message.
Example:
rails new ~/Code/Ruby/weblog
This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
See the README in the newly created application to get going.
It's first time when I got this message. In other projects this command works well, but here I am still getting this message...
What caused that? Am I missing something?
(yes, I am in the root of the respective project)
You are not running it inside a rails generated project directory. You are running it outside it.
EDIT: It could also be if the script folder is missing. Or the rails script is missing inside the script folder if you are executing it inside the project folder.
I've got the same, and i fixed by doing :
cd /root/path/to/your/project
bundle install
bundle update
VoilĂ  :)
Try adding a folder called script to your rails root.
in this folder add a file called rails and add to it
APP_PATH = File.expand_path('../../config/application', FILE)
require File.expand_path('../../config/boot', FILE)
require 'rails/commands'
and execute again
rails g migration migration_name

Novice learning RoR: Trying to run Rails server but getting odd output in terminal

I'm trying to run Rails Server in Ubuntu 10.10 terminal. But I get an output completely different from that shown in my tutorial:
Usage:
rails new APP_PATH [options]
Options:
-r, [--ruby=PATH] # Path to the Ruby binary of your choice
# Default: /home/rinki/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
-d, [--database=DATABASE] # Preconfigure for selected database (options:
mysql/oracle /postgresql/sqlite3/frontbase/ibm_db)
# Default: sqlite3
-b, [--builder=BUILDER] # Path to an application builder (can be a filesystem path
or URL)
-m, [--template=TEMPLATE] # Path to an application template (can be a filesystem path
or URL)
[--dev] # Setup the application with Gemfile pointing to your Rails
checkout
[--edge] # Setup the application with Gemfile pointing to Rails
repository
[--skip-gemfile] # Don't create a Gemfile
-O, [--skip-active-record] # Skip Active Record files
-T, [--skip-test-unit] # Skip Test::Unit files
-J, [--skip-prototype] # Skip Prototype files
-G, [--skip-git] # Skip Git ignores and keeps
Runtime options:
-f, [--force] # Overwrite files that already exist
-p, [--pretend] # Run but do not make any changes
-q, [--quiet] # Supress status output
-s, [--skip] # Skip files that already exist
Rails options:
-v, [--version] # Show Rails version number and quit
-h, [--help] # Show this help message and quit
Description:
The 'rails new' command creates a new Rails application with a default
directory structure and configuration at the path you specify.
Example:
rails new ~/Code/Ruby/weblog
This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
See the README in the newly created application to get going.
Any help/suggestions would be much appreciated.
Thanks!
Have you created a project in the directory first? It looks like you haven't. Once you setup a project with rails new you will be able to run the rails server for the site.
If you want to run rails server type in your console "rails server", and if you want create a new project type in your console "rails new project_name"
What version of Rails are you running?
In your terminal type 'rails -v'. If you do not have version 3 then the 'rails new app_name' syntax will not work for this was changed in Rails 3.
Try updating Rails and trying again: 'gem update rails'.
This is the best documentation you can get for ubuntu on Rails. It will help you set up everything pretty easily :
https://help.ubuntu.com/community/RubyOnRails

Resources