在新的分支上进行开发
git checkout -b eighth/conditions
- 添加路由
get 'conditions_one'
get 'conditions_two'
get 'conditions_three'
下面的例子中模型名和表名可以不对应,表名同时包含大小写,这些不符合rails默认约定都是可以的
- 添加新的表和为原有表添加外键
rails g migration CreateCompanies
添加外键
rails g migration AddCompanyIdToProductInfoes
rake db:migrate
-
填充数据
-
添加、修改模型文件
-
添加动作
includes里面子关联表取出多个关联表形式的官方文档如下,这些接口的用法就去查官方文档,不要自己去猜想用法,比如includes(:product_second_tag,:product_info =>[:product_brand,:company])就是错误的。
image.png
-
添加视图文件
根据价格筛选后只有前5条记录价格小于50,每条记录都有标签--第二个筛选没有过滤任何记录,第三个日期筛选----把第二条记录筛选掉了。于是结果只有4条记录,说明正确。结果按照编码倒序排列:
如果带上sort参数且sort参数值为desc:
修修改第4条记录的价格为与第一条记录相同
视图页面修改为
如上就实现了先按照价格倒序排列,如果价格一样那么就按照编码倒序排列。
如果我们把第4条商品记录的SecondTagID的值去掉,注意结果显示为空,与其他未填重值的项为null不同。这也是我们前面讲的如果判断为null那么查询结果一个也没有的原因。我们查询判断添加应该是products.SecondTagID != ''
提交到远程仓库
git add .
git commit -m "I多条件拼 接查询、模型与表任意命名"
git push -u https://github.com/xiaohuacc/active_record.git eighth/conditions
把修改合并到主分支
git checkout master
git merge eighth/conditions
网友评论