Difference between revisions of "Rails3"

From DiLab
Jump to: navigation, search
(More info)
Line 124: Line 124:
|}
|}




= UTF-8 =

If you need UTF-8 encoding for your text in program files, add this magic comment to your file:
# encoding: utf-8

If you need UTF-8 in your (mysql) database(s), add "encoding: utf8" in the '''config/database.yml'''
adapter: mysql
...
encoding: utf8





Revision as of 17:07, 9 July 2012

Developing for Rails3.

Create a new application

Test your installation by making a test application

rails new tetsApp
cd testApp
rails server

Now check the http://localhost:3000 in your browser.

Nonstop first app

This example is adapted from here

rails new blog
cd blog
bundle install
gedit config/database.yml
rake db:create
rails generate controller home index
gedit app/views/home/index.html.erb

Enter the new web page content:

<h1>Hi there!</h1>

Set up the new root page

rm public/index.html
gedit config/routes.rb

Edit routes, like this

...
root :to => "home#index"
...

Test your server at http://localhost:3000

rails server

Create scaffolding

rails generate scaffold Post name:string title:string content:text
rake db:migrate


Database

Using Mysql

Making a new application

database.yml file

development:

 adapter: mysql2
 encoding: utf8
 database: blog_development
 pool: 5
 username: root<change this>
 password: <change this>
 socket: /tmp/mysql.sock


Using Postgres

Make sure you have pg gem installed (not the old "postgres" gem)

gem install pg

Making a new application

rails -d postgresql my_rails_app

database.yml file

  development:
   adapter: postgresql
   host: localhost
   port: 5432
   username: your_db_username
   password: your_db_password
   database: your_rails_project_development
   schema_search_path: public
   encoding: utf8
   template: template0

Reset database

Reset database contents

rake db:reset
rake db:migrate

or

rake db:reset db:migrate


Recreate database structure

rake db:drop
rake db:create
rake db:migrate

or

rake db:drop db:create db:migrate


Database field types

Rails Migration Symbol MySQL Data Type
:binary blob
:boolean tinyint(1)
:date date
:datetime datetime
:decimal decimal
:float float
:integer int(11)
:string varchar(255)
:text text
:time time
:timestamp datetime


UTF-8

If you need UTF-8 encoding for your text in program files, add this magic comment to your file:

# encoding: utf-8

If you need UTF-8 in your (mysql) database(s), add "encoding: utf8" in the config/database.yml

 adapter: mysql
 ...
 encoding: utf8


More info

Try this: http://wiki.rubyonrails.org/database-support/postgres

See also RVM