http://cell-designs.com/blog/setting-up-a-production-server-with-ruby-on-rails-1/
http://cell-designs.com/blog/setting-up-a-production-server-with-ruby-on-rails-2/
Rails Controllers
Continued from Rails 101
Opening up app/controllers/posts_controller.rb shows;
# GET /posts # GET /posts.xml def index @posts = Post.all respond_to do |format| format.html # index.html.erb format.xml { render :xml => @posts } end end
Post.all gets all posts which have been saved to the DB, and stored in the @posts variable. All variables within a ‘def’ (method) are available to the view
Rails 101
Create app (named blog);
$rails new <app name> $rails new blog
Create database;
$rake db:create
Fire up the rails server
rails server
Generate index (home) page & remove the temporary pre-built page
$rails generate controller home index $rm public/index.html
Generate resource (modal) – representing a single object – eg. Car / Post / House
$rails generate scaffold <Modal name> <fields> $rails generate scaffold Post name:string title:string content:text
Do the DB Migration
$rake db:migrate
Rails Console;
$rails console p = Post.new(:title => "abcd") p.save (expecting not to save) Show the errors created p.errors p.title = "abcdefg" p.save (expecting false - aka not saved) Show errors p.errors
Reference;
Routes file is: config/routes.rb
Views: app/views
Controllers: app/controllers
DB Migrations db/migrate/<datestamp>_create_<modal name>.rb
Thanks to: http://guides.rubyonrails.org/getting_started.html#getting-up-and-running-quickly-with-scaffolding