王梦琪的博客

记录技术学习及感悟

当日知识总结

| Comments

快捷键command+/ #

=begin
=end
多行注释

to_sym 转化为符号
to_s 转化为symbol
symbol可以简单理解为轻量级的字符串
创建符号 在前加:

条件判断
真假值
nil 方法不存在
nil和fails都为假
返回真假值都要用?结尾

逻辑运算符(多个条件表达式):
条件1 && 条件2 (且)
条件1 | | 条件2 (或)
!条件 (相反的条件)

条件判断语句
if语句
if 条件1
处理1
elsif 条件2
处理2
elsif 条件3
处理3
end

case语句(比较对象是1个)
when 值1
处理1
when 值2
处理2
else
处理4
end

比较运算符(处理判断语句)
== != < >

循环
对象.each do |变量|
希望循环的处理
end

方法
调用方法的语法如下
对象.方法名(参数1,参数2)
receiver(接收者),面对对象的世界中,调用方法被称为“向对象发送message”,
结果是”对象receive了消息“

方法的调用时把参数连同消息发给了对象的过程

修改数据表

def change
change_table :products do |t|
  t.remove :description, :name
  t.string :part_number
  t.index :part_number
  t.rename :upccode, :upc_code
end
end

Product Load (0.2ms)

数据库语句
cart.products

SELECT "products".* FROM "products"
INNER JOIN "cart_items"
ON "products"."id" = "cart_items"."product_id"
WHERE "cart_items"."cart_id" = ? [["cart_id", 1]]

find_by 如果没找到不会报错
find 只能用id 没找到会报错
Order.find(1) => ActiceRecord::NotFound
Order.find_by_id(1) => nil

order = Order.find_by_token(“xxx”)
order = Order.where(:token=>”xxx”).first

find_by 与 where
order = Order.find_by_name_and_email(“xxx”, “xxx@xxx.com”)
order = Order.where(name: “XXX”, email:”xxx@xxx.com“).first

action build/new
@order = Order.new
@order.user = current_user
与以下等价
@order = current_user.orders.build

Comments

comments powered by Disqus