今天学的东西
今天主要学了如何做订单系统,如何生成订单和提交订单,制作订单页面
今天的困扰
今天遇到的困扰就是感觉自己遇到了瓶颈,被老师说没有安全感,哈哈~~
好吧,不过遇到问题还是要解决问题,借此梳理一下。
我之所以觉得自己遇到瓶颈,其实本质上还是因为觉得自己应该懂一些原理性的东西才会知道怎么做。当然原理是需要了解的,但是这种以前遗留的观念是错的。
应对这样的想法,我想了两个办法帮自己破除困扰,让自己不再质疑。
①想想二周前的自己,再看看现在的自己,不去看不会的东西,只看自己还算挺大的进步。可以发现,其实在coding这个“拼图”上,我已经拼了很多块了。之所以觉得自己还不够熟练,不够了解,是因为拼的还不够多,并不是自己不够好,只是时候未到。掌握是早晚的事。
②去看了笑来老师的那篇《<人人都是工程师>前言》,给自己灌了一碗浓浓的鸡汤。
“重复才能练就技艺。”
“我们的大脑就是这样的,有强大的能力把我们常用的物体、技能“吸收”进来,就好像那些东西是我们身体的一部分一样,进而随心所欲地控制。厨艺大师手中的刀子,MBA 明星手中的篮球,都是这样的,虽然看起来是“身外之物”,实际上,对他们的大脑来说,那些东西都是他们身体的一部分,是他们可以随心所欲地控制的 —— 当然,外人看来那实在是太神奇了!”
“一切看起来复杂的技艺,其实都并不难,很多人最终学不会,其实只是练不成,就是说,他们并不是不理解那道理、那原理;可理解本身并无太大用处,因为真正需要做的是通过大量的重复与实践,把那道理、那原理转化为大脑皮层表面的沟回…… 缺少了刻意训练的环节,学什么都是白搭。”
“你就可以开始边学习,边实践,在学习中实践,在实践中学习更多,虽然有时掉进陷阱,有时误入歧途,但,请你放心,肯定不会死人的。是谓不断进步,是谓 ‘路漫漫其修远兮,吾将上下而求索’。”
牢记《卖油翁》里的那句金句“无他——但手熟尔!”
Q&A
self.products.include?(product)
这是在cart.rb的代码。
含义:从cart自身读取products,判断Cart里的product是否包含了product。括号里面的product是从controller里面传进来的。
如果要做一个不包含的意思,则应该是 !self.products.include?(product)。migration不能直接修改,必须新增。那怎么让其他文件能精确读到栏位呢?
def change
add_column :orders, :user_id, :integer
end
add_column的结构是这样的:add_column(table_name, column_name, type, options = {}) 。
所以在第一格table_name里面已经确认了是在哪个表单里添加栏位,跟命名没有关系。命名只是为了更好的表达意思。关于变数
ruby on rails的原则是尽量“说人话”。所以变数尽量不要用缩写,因为缩写会让人不知道是什么意思。
例如:不要用@ci,要用@cart_item记得把图片(文件夹地址)放在.gitignore里面,防止上传到github