博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
rubyonrails安装
阅读量:4041 次
发布时间:2019-05-24

本文共 6627 字,大约阅读时间需要 22 分钟。

更新源:

sudo gedit /etc/apt/sources.list
替换为:
#网易163的更新源
deb http://mirrors.163.com/ubuntu/ karmic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ karmic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ karmic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ karmic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ karmic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic-backports main restricted universe multiverse
更新源信息
sudo apt-get update
---------------------------------------------------------------
安装ubuntu编译环境
sudo apt-get install build-essential
---------------------------------------------------------------
安装ruby
www.rubyonrails.org下载ruby (ruby-1.8.7-p174.tar.gz)和 Gem(rubygems-1.3.6.tgz) 和rails
安装ruby依赖库文件
sudo apt-get install zlib1g-dev libssl-dev libreadline5 libreadline5-dev
下载后进度目录,运行./configure
然后make (编译)
然后sudo make install
然后 ruby -v (查看版本)
irb require "openssl" (查看openssl是否安装正确,返回true正确)
安装rubygem
sudo ruby setup.rb (到他到目录安装GEM)
gem -v (查看版本)
安装rails
sudo gem install rails (安装rails)
sudo apt-get install git-core sqlite3 libsqlite3-dev(安装sqlite和git)
sudo gem install sqlite3-ruby (安装sqlite和ruby的链接)
sudo gem install thin (安装thin服务器)
sudo apt-get install imagemagick libmagick9-dev (安装图片处理程序)
sudo gem install rmagick (安装ruby图片处理插件)
git clone badwolf@192.168.1.8:/home/git/snkme.git(从服务器把最新版本取下来)
启动服务
badwolf@badwolf-desktop:~/workspace/snkme$ ./script/server thin
---------------------------------------------------------------
安装Gedit插件
插件站: http://github.com/gmate/gmate
1. 添加一个源在源管理里面
ppa:ubuntu-on-rails/ppa
2. Install gedit-gmate package:
$ sudo apt-get install gedit-gmate
---------------------------------------------------------------
ubuntu flash中文乱码
cd /etc/fonts/conf.d/
sudo gedit ./49-sansserif.conf
<match target=”pattern”>
<test qual=”all” name=”family” compare=”not_eq”>
<string>wqy-zenhei</string>
</test>
<test qual=”all” name=”family” compare=”not_eq”>
<string>wqy-zenhei</string>
</test>
<test qual=”all” name=”family” compare=”not_eq”>
<string>monospace</string>
</test>
<edit name=”family” mode=”append_last”>
<string>wqy-zenhei</string>
</edit>
</match>
---------------------------------------------------------------
sudo gem (ruby的安装程序)
ctrl+shift+T (新建一个cmd)
---------------------------------------------------------------
版本管理git
git st (查看状态)
git add . (选择变更内容)
git diff(查看变更具体内容)
git commit -m '数据库' (更新到本地版本库)
git push (提交到服务器)
脚手架常用命令:
-------------------------------------------------
0. 创建一个项目
rails demoshop
-------------------------------------------------
1. 用脚手架创建产品(控制 模型 显示 数据)
script/generate scaffold product title:string description:text image_url:string
-------------------------------------------------
2. 如果创建错了销毁这些(destroy 销毁 scaffold 脚手架 pronduct产品对象)
script/destroy scaffold pronduct
-------------------------------------------------
3. 来创建一个sqlite的表(必须有上一步到创建)
rake db:migrate
-------------------------------------------------
4. 用sqlite命令来查看当前项目migrate当前版本
sqlite3 db/development.sqlite3 "select version from schema_migrations"
-------------------------------------------------
5. 查看路由情况
rake routes
-------------------------------------------------
6. 数据库迁移增加一个字段脚手架
script/generate migration add_price_to_product price:decimal
然后执行3的步骤
-------------------------------------------------
7. 调试
script/console
-------------------------------------------------
8. 只创建一个controller的一个action
ruby script/generate controller store index

hreoku.com 版本库管理方法

1.登录hreoku.com注册帐号 *****
2. 登录邮箱激活
3.sudo gem install hreoku #安装keroku
4.heroku create rorbet #创建项目 rorbet.hreoku.com
5.ssh-keygen #创建一个ssh密钥
6.git clone :rorbet.git #找一个目录先git一下服务器的版本库到本地
7.然后在这个目录添加文件..
8.git st #查看本地版本与服务器之间差别
9.git add . #添加要提交的内容范围
10.git commit -m “201005120951-first-commit”
11.git push origin master #指定分支 以后就git push
12.heroku logs #查看日志
13.heroku help #查看heroku命令
14.heroku console #运行console
15.heroku rake db:migrate #在heroku运行db:migrate
# 如果你migrate没问题 跳过16~17步骤
16.rake db:schema:dump #把本地数据库生成migrate文件
17.heroku rake db:schema:load #把migrate文件生成数据库文件

ActiveRecord Model的方法
class.new 新建
class.find 查询
class.destroy 删除
变量查询
a="hahaha"
Product.find(:all,:conditions=>["title like ?","%#{a}%"])
Product.find(:all,:conditions=>["title like :title",:title=>"%#{a}%"])
Product.find(:all,:conditions=>["title like :title and price>:price",:title=>"%#{a}%",:prcie=>3])
相当
SELECT * FROM "products" WHERE (title like '%a%' and price>3)
字符串查询
Product.find(:all,:conditions=>{:title=>"a"})
相当
SELECT * FROM "products" WHERE ("products"."title" = 'a')
多条件查询合并
>> cs = [{:title=>"a",:price=>(1..20),:description=>"hhhhh"}, "title like '%b%'"]
=> [{:price=>1..20, :title=>"a", :description=>"hhhhh"}, "title like '%b%'"]
>> Product.all :conditions=> Product.merge_conditions(*cs)
相当
SELECT * FROM "products" WHERE (("products"."title" = 'a' AND "products"."price" BETWEEN 1 AND 20 AND "products"."description" = 'hhhhh') AND (title like '%b%'))
把条件设置数组
>> conditions = []  #定义一个数组
=> []
>> conditions << ["title like ?", 'a']  #把一个条件加到数组
=> [["title like ?", "a"]]
>> conditions << ["title like ?", 'a']  if params[:title].present? #加一个判断 非空时加入到数组
include附加查询(减少N+1次查询)
LineItem.all :conditions => "products.title => 'a'", :include => :product
jions附加查询
LineItem.all :conditions => "products.title like '%a%'", :joins => :product
想当
SELECT "line_items".* FROM "line_items" INNER JOIN "products" ON "products".id = "line_items".product_id WHERE (products.title like '%a%')
select查询
Product.find(:all,:select=>"title,price")
相当
SELECT title,price FROM "products"
readonly只读查询
>> p=Product.first
=> #.....
>> p=Product.first(:readonly=>true)
=> #....
>> p.title="xxxxxxxxx"
=> "xxxxxxxxx"
>> p.save #抛出异常
from 指定表名
group 指定分组
limit 指定条数
offset 指定起始数
find_by_sql 直接执行sql语句
获取字段统计信息
Product.average(:price)
Product.maximum(:price)
Product.minimum(:price)
Product.sum(:price)
Product.count()
动态查询
Product.find_by_title_and_price("测试",78.9) #只查第一条first 结果:title和price
Product.find_all_by_title_and_price("测试",78.9) #返回数组 结果:title和price
Product.find_or_create_by_title("hahahaha") #查询并保存
Product.find_or_initialize_by_title("aoiokkok") #查询,如果没有初始化
查看日志
tail -f log/development.log

转载地址:http://dbadi.baihongyu.com/

你可能感兴趣的文章
Selenium-Switch与SelectApi接口详解
查看>>
Selenium-Css Selector使用方法
查看>>
Linux常用统计命令之wc
查看>>
测试必会之 Linux 三剑客之 sed
查看>>
Socket请求XML客户端程序
查看>>
Java中数字转大写货币(支持到千亿)
查看>>
Java.nio
查看>>
函数模版类模版和偏特化泛化的总结
查看>>
VMware Workstation Pro虚拟机不可用解决方法
查看>>
最简单的使用redis自带程序实现c程序远程访问redis服务
查看>>
redis学习总结-- 内部数据 字符串 链表 字典 跳跃表
查看>>
iOS 对象序列化与反序列化
查看>>
iOS 序列化与反序列化(runtime) 01
查看>>
iOS AFN 3.0版本前后区别 01
查看>>
iOS ASI和AFN有什么区别
查看>>
iOS QQ侧滑菜单(高仿)
查看>>
iOS 扫一扫功能开发
查看>>
iOS app之间的跳转以及传参数
查看>>
iOS __block和__weak的区别
查看>>
Android(三)数据存储之XML解析技术
查看>>