一、环境安装
centos 操作系统
1、安装rvm
curl -sSL https://get.rvm.io | bash -s stable
rvm -v查看是否安装成功
2、安装ruby
rvm install 1.9.3
ruby -v 查看ruby版本号
Rvm命令简单使用介绍:
rvm install ruby 默认安装最新版本
rvm reinstall ruby 重新安装
rvm remove ruby 删除ruby的安装
若需安装、重装、删除ruby都可指定版本,即在ruby后面写上相应参数。
3、安装rails
gem install rails -V
rails -v 查看是否安装成功
可安装指定版本的rails,比如:gem install rails -v 3.2.13。
二、VRUD hello world
1、创建项目
mkdir projects
cd projects
rails new demo --skip-test-unit
cd demo
bundle install
2、启动程序
rails server -b 2.2.2.2
或rails s -b 2.2.2.2
3、使用scaffold创建CRUD程序
bin/rails g scaffold person name:string bio:text birthday:date
4、创建数据库表
bin/rake db:migrate
访问,验证是否成功创建程序。
三、mysql下的CRUD
1、修改config/database.yml 文件
default: &default
adapter: mysql
username: root
password: 123456
host: 192.168.99.26
database: test
development:
<<: *default
database: test
test:
<<: *default
database: test
production:
<<: *default
database: test
2、修改Gemfile
增加 gen "mysql"
3、rake db:create
4、增加CRUD功能,启动服务,开始测试。
四、最佳实践
rails new depot
rails g scaffold Product title:string description:text image_url:string price:decimal
rake db:migrate
rake db:rollback
validates :price,:description, :image_url, :presence => true
validates :price, :numericality =>{:greater_than_or_equal_to =>0.01}
rake test
rails g controller store index
rails g scaffold cart
rake db:migrate
rails g scaffold line_item product_id:integer cart_id:integer
rake db:migrate
分页
在Gemfile文件中增加
gem 'will_paginate', '>= 3.0.pre'
vi products_controller.rb 的Index方法中增加
@products = Product.paginate :page => params[:page], :per_page => 10
vi index.html.erb
<p><%= will_paginate @products%></p>
重启程序,可以看到分页效果
部署生产环境:nginx+passenger
1、gem install passenger
2、passenger-install-nginx-module
3、修改配置文件
location / {
index index.html index.htm;
root /home/yuecl/rails/ttttt/public;
passenger_enabled on;
rails_env production;
}
4、rake secret RAILS_ENV=production //生成production 的key
rake db:migrate RAILS_ENV=production
rake db:seed RAILS_ENV=production
rake assets:precompile RAILS_ENV=production
修改config/secrets.yml 替换为获取到的key
nginx start
5、常用命令
mkdir gitapp
cd gitapp
git init
rails new . --git --database=mysql
rake db:create RAILS_ENV="production"
git冲突解决
http://blog.csdn.net/chain2012/article/details/7476493
= javascript_include_tag "application", "data-turbolinks-track" => true
从body移到head 解决js不执行的问题