This README would normally document whatever steps are necessary to get the application up and running.
Things you may want to cover:
-
Ruby version
-
System dependencies
-
Configuration
-
Database creation
-
Database initialization
-
How to run the test suite
-
Services (job queues, cache servers, search engines, etc.)
-
Deployment instructions
-
...
- 控制器位于 app/controllers
- 视图位于 app/views
- Active Record : rails 提供的ORM (对象—关系映射)库。
- Action pack : rails 把视图和控制器捆绑在一起的组件
- 动态内容的三种方式
- 嵌入式ruby (ERB)
- js代码的 ajax
- XML Builder
- 把外部请求分派到内部动作
- rails generate 创建命令
例如: rails generate controller Say hello goobye
- nil 是一个对象(ruby),表示什么都没有
- 局部变量 小写字母下划线开头(单词下划线链接)
- 实例变量 @开头
- 类变量 @@开头
- 全局变量 $开头
- 大写字母开头 (驼峰式)
- def if else 等等
- 遵循局部变量命名规则
例如:
def say_goodnight(name)
result = 'Good night, ' + name
return result
end
- '' 单纯的字符串
- "" 会编译反斜杠 \ 例如 \n ; 会解析 #{}
- capitalize() 将字符串首字母大写返回
- <<() 将值添加到数组末尾
ages = []
ages << my.name
a = ['ant','b','c']
# 等价于
a = %W{ant b c}
取值 a[0] #=>'ant'
由建和值组成 => 左边的是键,右边的是值。键是唯一的
inst = {
:cello => 'string',
:clarinet => 'woodwind',
:drum => 'ppp'
}
等同于
inst = {
cello: 'string',
clarinet: 'woodwind',
drum: 'ppp'
}
- 取值 a[:cello] #=>'string'
1.创建方式
- /pattern/ 或者
- %r{pattern}
2.匹配
- =~ 判断是否匹配
if line =~ /pattern/
- if
if a > 10
puts '大于10'
elsif a == 3
puts '等于3'
else
puts 'sb'
end
- while
条件不为true时循环执行
while a<100 and b<=30
......
end
- until
一直执行下去直到条件为true、
块指大括号或者do...end之间的代码
{ puts 'abc'} # 这是一个块
do # 这也是一个块
puts 'abc'
club.enroll(person)
end
迭代器:逐个返回集合元素的方法
animals = %w{ant bee cat dog} #创建数组
animals.each{|animal| put animal} # 便利数组
- 在整数N上调用times方法
3.times {print "Ho!"} #=> Ho! Ho! Ho!
- &前缀运算符可以捕获传递给方法的块,将其作为方法的具名参数
def wrap &b
print "ymy say: "
3.times(&b)
print "|n"
end
wrap {print "Ho!"}
异常是Exception的类或者子类的对象 通常把方法或代码块包在begin和end之间,可以通过rescue子句某些类型的异常
class SayController < ApplicationController
def hello
@time = Time.now
@files = Dir.glob("*")
end
def goobye
end
end
class开头,首字母大写
作�用:
- 作为命名空间,防止冲突
- 在多个类之间实现功能共享
用于定义数据库的配置,测试数据。。。。